본문 바로가기

프로그램 경험/Database

[SqlServer] 각 테이블별 행 개수 집계 DECLARE @TableRowCounts TABLE ( [TableName] VARCHAR(128), [RowCount] INT) ; INSERT INTO @TableRowCounts ( [TableName], [RowCount]) EXEC sp_MSforeachtable 'SELECT ''?'' [TableName], COUNT(*) [RowCount] FROM ? ' ; SELECT [TableName], [RowCount] FROM @TableRowCounts ORDER BY [TableName]
[SqlServer] 콤마를 기준으로 문자열 자르기 DECLARE @InStr VARCHAR(500) DECLARE @Position INT --문자 자를 기준 위치 DECLARE @GubunPosition INT --문자 찾은 위치 DECLARE @TmpSysId VARCHAR(20) --시스템 아이디 DECLARE @StrColumns VARCHAR(4000) --가변적 문자열 컬럼 SET @InStr = '''ABC'',''BBB'',''EEE'''SET @Position = 1 SET @GubunPosition = 1 SET @StrColumns = '' --시스템 아이디가 가변적으로 들어 오기 때문에 --컬럼 문자열을 만들어 준다. WHILE(@GubunPosition > 0) BEGIN SET @GubunPosition = CHARINDEX('..
[SqlServer] SP 등 오브젝트 안에서 키워드 찾기 SELECT DISTINCT OBJECT_NAME(o.object_id) AS SP_NAME FROM SYS.SQL_MODULES m WITH(NOLOCK) , SYS.OBJECTS o WITH(NOLOCK) WHERE m.object_id = o.object_id AND o.TYPE = 'P' -- P:SP , U:테이블, TR:트리거, V:View, IF(FN)(TF):Funtion AND m.DEFINITION LIKE '%tablename%' --찾고 싶은 키워드 ORDER BY SP_NAME; --컬럼 타입으로 검색SELECTdistinct TABLE_NAMEFROM INFORMATION_SCHEMA.COLUMNS WHERE DATA_TYPE = 'nvarchar'
[SqlServer] DateTime 필드 조회시 주의점 SELECT*FROM TB_TESTWHERE CreateDate BETWEEN '2012-01-01' AND '2012-03-31' ; 이렇게 조회 조건절을 거는 경우가 가끔 있는데 이렇게 하면 잘 되는것 같이 보이지만 자세히 데이터를 확인해 보면2012-03-31 일자 데이터가 빠져서 조회 된다. 아래와 같이 하면 빠지지 않고 모든 데이터 조회가 된다. SELECT*FROM TB_TESTWHERE CONVERT(VARCHAR, CreateDate , 112) BETWEEN '20120101' AND '20120331' ;
[SqlServer] 날짜 함수 -- Get date only from datetime - QUICK SYNTAXSELECT DATEADD(dd, 0, DATEDIFF(dd, 0, CURRENT_TIMESTAMP)) -- 2016-10-23 00:00:00.000------------ -- SQL Server T-SQL date & datetime formats - Gregorian calendar - Christian calendar -- getdate() / CURRENT_TIMESTAMP(ANSI) returns system date & time in standard format -- SQL datetime formats with century (YYYY or CCYY format)- sql date & time format SE..
[MySql] delete mysql 은 from절을 꼭 넣어줘야 삭제가 된다... 망할...delete from table_temp where t_id = 444
[MySql] null 확인 함수 * IFNULL(필드, 표현) select id, ifnull(read_count, 0) from board
[MySql] 비밀번호 초기화 우선 기존에 실행되고 있는 mysql을 모두 종료 한다. 그뒤에 터미널을 하나 열어서 아래와 같이 한다. 터미널을 하나 더 열어서 아래와 같이 한다.