소수점 자리 계산시 계산 오류가 발생하는 이유 DECLARE @A FLOAT DECLARE @B FLOAT SET @A = 10 SET @B = 10 - 0.01 SELECT @A - @B 위 쿼리문을 수행하면 다음과 같은 결과를 얻을 수 있다. 0.00999999999999979 원래 얻고자 하는 결과는 10 - (10 - 0.01)) = 0.01 이지만 소수점 자리수가 17자리인 근사치 값이 출력되었다. 이러한 차이는 어디서 오는 것일까? FLOAT 와 REAL .. MSSQL 2008/MSSQL SQL 2013.11.12
DELETE 명령어에 조인을 사용하여 처리하기 DELETE SCENE_MOUT FROM SCENE_MOUT [S] LEFT JOIN SCENE_MINP [S1] ON S.INP_NO = S1.INP_NO LEFT JOIN MATERIAL_STOCK_OUT [S2] ON S2.OUT_NO = S1.OUT_NO WHERE S2.LOTNO IS NULL 여기에 트랜잭션까지 같이 하면 BEGIN TRAN SELECT COUNT(*) FROM SCENE_MOUT [S] LEFT JOIN SCENE_MINP [S1] ON S.INP_NO = S1.INP_NO LEFT JOIN MATERIAL_STOCK_OUT [S2] ON S2.OUT_NO = S1.OUT_NO WHERE S2.L.. MSSQL 2008/MSSQL SQL 2013.08.30
SQL Server 에이전트 시작 오류 SQL Server 서비스를 시작하는 사용자의 암호를 변경한 경우에는 SQL Server 서비스가 시작되지 않는 문제가 발생할 수 있습니다. 그런 경우에는 SQL Server Service Manager에서 MSSQLServer 서비스를 시작할 때 다음과 같은 오류 메시지가 나타납니다. An error 1069 - (서비스가 로그 온 실패로 인해 시작되.. MSSQL 2008/MSSQL 관리 2013.08.28
MSSQL 서버 접속자 정보 확인 SELECT * FROM sys.sysprocesses S, sys.dm_exec_connections C SP_WHO SP_WHO2 select @@spid -- 현재 자신의 정보 가져오기 select * from sys.dm_exec_connections where session_id = (select @@SPID) MSSQL 2008/MSSQL 관리 2013.06.13
UPDATE 쿼리문 -- 글 작성 대기 UPDATE EMPLOYEE SET NAME = E1.NAME FROM EMPLOYEE [E] LEFT JOIN DI_USER [E1] ON E1.ID = E.ID MSSQL 2008/MSSQL SQL 2013.01.11
테이블 구조 수정시 변경 내용을 저장할 수 없을 경우 설정 변경 방법 테이블 구조를 SSMS를 사용하여 변경하고자 할 때 변경 내용을 저장할 수 없는 경우가 있다. 이 오류는 SSMS의 설정이 테이블 구조를 변경 허용 하지 않기 때문인데 설정을 변경하면 테이블 구조 변경이 저장된다. (SSMS를 사용하지 않고 쿼리문으로 변경하고자 할 때는 위 오류가 발생되지 .. MSSQL 2008/MSSQL 관리 2012.12.21
조인 조인을 사용하면 테이블 간의 논리적 관계를 기준으로 둘 이상의 테이블에서 데이터를 검색할 수 있다. 조인의 유형 1. 내부 조인(동등 조인과 자연 조인 포함) 내부 조인은 비교 연산자를 사용하여 각 테이블에서 공통된 열의 값을 기준으로 두 테이블의 행을 일치시킨다. (한 테이블에 10.. MSSQL 2008/MSSQL SQL 2012.09.25
VIEW 생성 VIEW는 하나 이상의 테이블에 있는 데이터를 표시하는 가상 테이블을 나타냅니다. VIEW는 복잡한 쿼리문을 단순하게 만들 수 있는데, 복잡한 쿼리문을 사용하여 얻을 수 있는 결과를 미리 가상의 테이블(VIEW)를 만든 후 VIEW에서 결과를 얻을 수 있기 때문입니다. 예를 들어 입고 테이블과 출.. MSSQL 2008/MSSQL SQL 2012.09.20
문자열 처리 함수 1. REPLACE 함수 저장된 문자열 값의 모든 항목을 다른 문자열 값으로 바꿉니다. REPLACE('검색할 문자열', '찾을 문자열', '대체 문자열') SELECT REPLACE('2012-06-01', '-', '') > 20120601 2. SUBSTRING 함수 문자, 이진, 텍스트 또는 이미지 식의 일부를 반환합니다. SUBSTRING('문자열', 시작인덱스, 길이) SELECT S.. MSSQL 2008/MSSQL SQL 2012.08.08
다수의 행의 값을 한 열에 열거하는 방법 SELECT PROCESS_NO , (SELECT CODE_NAME FROM CODE WHERE CODE = PROCESS_TYPE)[TYPE] , PROCESS_NAME , PROCESS_WORKER , STUFF( (SELECT ',' + PLANT_NAME FROM PROCESS_EQUIP [E] LEFT JOIN PLANT [L] ON E.PLANT_NO = L.PLANT_NO WHERE PROCESS_NO = P.PROCESS_NO AND E.TURNOFF_DATE IS NULL FOR XML PATH('')) , 1,1, ' ')[EQUIP] FROM PROCESS [P] STUFF 함수를 사용하여 다른 문자열에 .. MSSQL 2008/MSSQL SQL 2012.07.24