본문 바로가기

MSSQL

MSSQL 테이블 컬럼 타입 테이블 DB 리스트 가져오기 ▶ 사용자가 생성한 DB 리스트 SELECT * FROM sys.databases WHERE name NOT IN ('master', 'model', 'msdb', 'tempdb') ▶ 테이블 리스트 SELECT name, object_id FROM sys.tables ▶ 컬럼 리스트 SELECT name, object_id FROM sys.columns WHERE object_id = '테이블 object_id' ▶ 짜장~ SELECT * FROM INFORMATION_SCHEMA.COLUMNS A WHERE A.TABLE_NAME ='테이블' 더보기
Replicate() / 문자식 반복 Replicate() :: 문자식을 지정한 횟수만큼 반복 Ex) 실행 ▶ SELECT Replicate('abcd',3) 결과 ▶ abcdabcdabcd 더보기
MSSQL 탭키, 엔터키, 스페이스키 제거 ! 데이터의 값은 이상이 없는데, SELECT 결과값에 문제가 있다면 공백을 의심해보자 ! : 눈에 보이지 않는 공백, 탭, 엔터값이 DB에 데이터에 저장되 있을 수 있다. MSSQL 탭키, 엔터키, 스페이스키 제거 탭문자 제거: REPLACE(value, CHAR(9), '') 엔터문자 제거: REPLACE(value, CHAR(13)+CHAR(10), '') Ex)탭문자 제거: REPLACE(value, CHAR(9), '') REPLACE(공백제거를 당하는 문자열, 제거 할 문자열(여기서는 Tab키),변경 할 문자열(여기서는 공백)) ※ 주의: CHAR(9)는 문자열이 아니므로, ''를 적어주면 안된다. Ex) CHAR(9): (X) → CHAR(9): (O) 더보기
MS-SQL 더하기, 랜덤함수 간단하지만 간단해서 오히려 더 잊어버려서 작성! 30분 더하기 dateadd(인자값,30, 더해질 대상) dateadd(MI,30, getdate()) : 현재시간에 30분을 더한다. 랜덤함수 convert(int, abs(rand()*99)+30 랜덤함수 범위 설정하기 declare @max int, @min int set @max = 50 set @min = 30 select random = CAST(((@max+1) - @min ) * rand() + @min as int); : 30~50 사이의 랜덤값을 출력한다. 더보기
mssql2008_ 테이블 primary 옵션 출처: SQL Server 2008 온라인 도움말(Microsoft Document Explorer) 기본옵션을 서술하지 않겠다면? CONSTRAINT [PK_comment] PRIMARY KEY CLUSTERED ( [REG_NO] ASC )ON [PRIMARY] ) ON [PRIMARY] 기본옵션 Ex : 다음↓에서 지정한 옵션들은 기본옵션이기때문에 지정하지 않아도 무관하다. CONSTRAINT [PK_comment] PRIMARY KEY CLUSTERED ( [REG_NO] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON.. 더보기