달력을 DB에 저장해 놓고 사용해야 하는 경우를 위해서 만듬. MSSQL IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'CALENDAR_TABLE') DROP TABLE CALENDAR_TABLE; CREATE TABLE [dbo].[CALENDAR_TABLE]([CALN_DATE][nvarchar](8)COLLATE KOREAN_WANSUNG_CS_AS NOT NULL,[CALN_WEEK][nvarchar](6)COLLATE KOREAN_WANSUNG_CS_AS NULL,[CALN_YEAR][nvarchar](4)COLLATE KOREAN_WANSUNG_CS_AS NULL,[CALN_MONTH][nvarch..
개발을 하다보면 가끔 특정 날짜가 포함된 달의 마지막 날짜를 구해야 하는 경우가 종종 발생한다.고전적인 방법은 지정날짜에 1개월을 더하고 일(day)를 01로 바꿔준 날짜에서 하루를 빼준다.뭐 어느 VERSION 부터 추가된건지는 몰라도... 최근 사용되는 DB는 거의 될듯~난 아직도 20년전에 묶여서 하는 듯한 이느낌은 뭐징...ㅋㅋ MS-SQL-- 1개월을 더한다.SELECTCONVERT( VARCHAR(10), DATEADD( M, 1, GETDATE() ), 112); --년월(YYYYMM)만 추출SELECTLEFT( CONVERT( VARCHAR(10), DATEADD( M, 1, GETDATE() ), 112) , 6 ); --년월(YYYYMM)에 01(DAY)를 붙임SELECTLEFT( CO..
Toad 나 Orange에 익숙해져 있다보면... SSMS (SQL Server Management Studio)가 불편하게 느껴질 때가 종종 있다. 그 중에 하나가 Table Design 시 Comment 항목(Description)이 보이지 않는게 아닐까싶은데.. SSMS 자체의 설정으로는 내가 아는 범위에서는 그 항목을 보여줄 수 있는 방법은 없었다. 결국 Windows의 몹쓸 설정~ Registry를 건드리면 된다는 결론~ SSMS v17.9 기준으로 위의 사진처럼... [설명]이라는 항목을 볼 수 있다. 컴퓨터\HKEY_CURRENT_USER\Software\Microsoft\SQL Server Management Studio\14.0\DataProject 에 있는 SSVPropViewColum..
오라클 테이블 / 컬럼 정보 조회 쿼리... 숫자형의 경우 Length 컬럼을 조회하면 다 동일하게 나온다. 그래서 정수부분과 소수 부분을 따로 합해줘야 한다. SELECT A.TABLE_NAME AS "TABLE_NAME" , (SELECT COMMENTS FROM ALL_TAB_COMMENTS WHERE TABLE_NAME = A.TABLE_NAME) AS "TABLE_COMMENT" , A.COLUMN_NAME AS "COLUMN_NAME" , D.COMMENTS AS "COLUMN_COMMENT" , A.DATA_TYPE AS "DATA_TYPE" , CASE WHEN A.DATA_TYPE = 'NUMBER' THEN A.DATA_PRECISION || ',' || A.DATA_SCALE ELSE..
아주 가끔이지만... 필요한 Query라서 메모성으로 기록한다.MS-SQL에서 Query로 현재 생성된 Table의 정보를 조회할 때 사용하는 Query SELECTA.NAMEAS [TABLE_NAME], B.NAMEAS [COLUMN_NAME], UPPER(C.NAME)AS [DATA_TYPE], (CASEWHENUPPER(C.NAME) LIKE '%CHAR'THENUPPER(C.NAME) + '(' + CONVERT(NVARCHAR(10), UPPER(CASEWHEN B.SYSTEM_TYPE_ID IN (231, 239)THEN (CASEWHEN B.MAX_LENGTH < 0 THEN 'MAX'ELSE CONVERT(NVARCHAR(10), B.MAX_LENGTH/2)END )ELSECONVERT(N..
나이가 드는건가... 아니면 편하게 썼던 Oracle에 너무 익숙했던 탓인가... Query를 짜는데... Join 절이 헤깔린다. ㅜ.ㅜ join 절은 어떻게 사용하느냐에 따라 성능차이가 현격하게 차이나는 조건절 중 하나이다. 용도별로 적절하게 사용하여야 하는지에 대해서 이참에 제대로 된 문법도 되뇌일겸... 정리도 해놓고 기록도 해놓을겸 포스팅한다. 1. Left Join (A) SELECT * FROM TableA a LEFT JOIN TableB b ON a.Key = b.Key 2. Left Join (A-B) SELECT * FROM TableA a LEFT JOIN TableB b ON a.Key = b.key WHERE b.Key IS NULL 3. Right Join (B-A) SELEC..