반응형
SMALL

2024/03 24

[MS-SQL] ROUND, CEILING 함수

오래간만에 쓰려고 하면 꼭 찾아보게 되는 함수 ROUND [반올림] --ROUND(값, 반올림 자릿수, [반올림 여부]) 구하려는 소수점 자리수의 한 자리 아래의 숫자를 반올림 혹은 버림한다. 반올림 여부가 0 또는 생략할 경우 반올림 반올림 여부가 음수값일 경우 버림 SELECT ROUND(1.456, 1) - 소수점 둘재 자리에서 반올림 결과 : 1.5 SELECT ROUND(1.456, 2) - 소수점 셋째 자리에서 반올림 결과 : 1.46 SELECT ROUND(1.456, 2, 0) - 소수점 셋째 자리에서 반올림 결과 : 1.46 SELECT ROUND(1.456, 2, -1) - 소수점 셋째 자리에서 버림 결과 : 1.45 CEILING(올림) --CEILING(값) 소수점 첫째자리에서 올림..

DB 2024.03.10

[MS-SQL] Management툴로 실행한 이전 쿼리 확인방법

어제 쿼리를 만들어서 조회까지 했는데 Management Tool을 종료해버려서 기억이 나지 않을때 아래 방법으로 해보라고 한다. 단, 휘발성 데이터로 지금까지 실행했던 모든 쿼리를 조회해주진 못한다. - 어플리케이션에서 실행했던 쿼리는 조회 안됨 - 해당 SQL Studio 에서 실행했던 쿼리가 아닌 쿼리는 조회 안됨 - 기간이 오래되어 히스토리에서 지워진 쿼리 또한 조회 안됨 Microsoft SQL Server Management툴에서 직접실행했던 쿼리들만 쿼리구문과 날짜로 보여준다. 한줄로 보여지는 쿼리라 주석이 없다면 Instant sql formatter로 변환하면된다. 목록에서 쿼리정렬 또는 2021.01.13일 만든 글자를 읽어보기 바란다. SELECT DB_NAME(ST.DBID) DBN..

DB 2024.03.10

[MS-SQL] 고정문자열 표현하기 ('01')

고정문자열 표현하기 앞에 무조건 0을 붙히는 방법이며 CASE 문으로 분기해서 두자지를 분류해주는 방법도 있다. SELECT REPLICATE('0', 1) + CAST(DATEPART(MM, GETDATE()) AS CHAR(2)) SELECT RIGHT('0' + RTRIM(CAST(DATEPART(MM, GETDATE() AS CHAR(5))),5) 결과 1 -> '01' 2 -> '02' 12 -> '012' SELECT CASE WHEN LENGTH(DATEPART(MM, GETDATE())) = 1 THEN REPLICATE('0', 1) + CAST(DATEPART(MM, GETDATE()) AS CHAR(2)) ELSE CAST(DATEPART(MM, GETDATE()) AS CHAR(2)..

DB 2024.03.08

[CANIS] 해당월과 다음월의 첫날 구하기

트로이아에서 날짜 한달간격을 조회하기 위해서 만들어 보았다. 트로이아에서는 날짜포맷이 외국기준이라 일.월.년 시:분:초로 넣어줘야만 가능하다. GLOBAL: DATE FDATE, DATE TDATE; /* 1. 해당월의 첫날과 다음달의 첫날 구하기 */ PFDATE = '01.' + PMONTH + '.' + PYEAR + ' 00:00:00'; PTDATE = ADDMONTHS(PFDATE, 1); 결과 '01.01.2021 00:00:00' '01.02.2021 00:00:00'

오라클 다중 IN MSSQL에서는 EXISTS로 해보자

오라클을 사용하시는분들이 아래 IN절을 사용하다 MSSQL을 사용하게 되면 불편해 하신다. 아래 문장이 도움이 되기를 바란다. SELECT * FROM TEMPA WHERE (A, B) IN ( SELECT A, B FROM TEMPB WHERE C ='Y') DELETE FROM TEMPA WHERE (A, B) IN ( SELECT A, B FROM TEMPB WHERE C = 'Y' ) 위에 SELECT 문을 DELETE로 바꿔서 아주 잘사용하셨다고 한다. 그런데 MSSQL은 어떻게 하나 물어보신다 답은 EXISTS를 사용하시라고 권해 드린다. SELECT A.* FROM TEMPA A WHERE EXISTS ( SELECT 1 FROM TEMPB B WHERE B.A = A.A AND B.B. =..

DB 2024.03.07
반응형
LIST