본문 바로가기

DB/mssql

(37)
[function] 숫자에 억,만 단위 붙이기 CREATE FUNCTION [dbo].[fn_MoneyToKor]( @price FLOAT)RETURNS NVARCHAR(500)ASBEGINDECLARE @salePrice FLOATDECLARE @deposit FLOATDECLARE @monthlyRent FLOATDECLARE @tempMoney1 FLOATDECLARE @tempMoney2 FLOATDECLARE @tempMoney NVARCHAR(500) = '' SET @deposit = @price;SET @monthlyRent = 100; SET @tempMoney1 = FLOOR(@deposit / 100000000)SET @tempMoney2 = FLOOR((@deposit - (@tempMoney1 * 100000000)) / 10..
[function] 구분자가 있는 문자열 테이블로 만들기 CREATE FUNCTION [dbo].[fn_Split]( @pSource NVARCHAR(MAX), @pSeparator VARCHAR(1))RETURNS @TAB_RETURN TABLE( ItemIndex INT, ItemValue NVARCHAR(1000))ASBEGIN DECLARE @buffer VARCHAR(MAX); DECLARE @item NVARCHAR(MAX); DECLARE @tmp INT; DECLARE @index INT; SET @index = 1; WHILE LEN(@pSource) > 0 BEGIN SET @tmp = CHARINDEX(@pSeparator, @pSource); IF @tmp > 0 BEGIN SET @item = SUBSTRING(@pSource, 1, @..
[mssql] paging limit offset DECLARE @page INT = 1DECLARE @offset INT = 5 ;WITH TempTable AS( SELECT ROW_NUMBER() OVER (ORDER BY 정렬컬럼 ) AS RowNum , * FROM Table WITH(NOLOCK) WHERE 조건)SELECT *FROM TempTableWHERE RowNum > ( CASE WHEN @page > 1 THEN ( @page - 1 ) * @offset ELSE 0 END ) AND RowNum
DATABASE Naming Rule 1. Database Name 1.1. 규칙 - Database Name은 서비스를 의미하는 Unique한 Name을 사용함 - Database Name은 파스칼표기법을 따른다. 1.2. 표기 방식 예) Common, OnBid, Auction 2. Table Name 2.1. 규칙 - Table Name 은 파스칼표기법을 따른다. - 유형 구분은 배제한다. 2.2. 표기 방식 예) 회원테이블 : Member 결제이력 : PaymentHistory 접속로그 : ConnectionLog 게시판 : Board 3. Column Name 3.1. 규칙 - 물리 명은 카멜표기법을 따른다. - 논리 명을 사용자가 알 수 있는 정도에서 명사 및 명사형동사를 사용함. - 모든 Column은 Dictionary Lis..
(String Concatenation) (Transact-SQL) 예외 케이스 SELECT rat.TargetNo , rat.TargetUniqueNo , rat.RegistType , rat.AddressType , (CASE WHEN rat.Sido LIKE '서울%' THEN '서울특별시' WHEN rat.Sido LIKE '부산%' THEN '부산광역시' WHEN rat.Sido LIKE '울산%' THEN '울산광역시' WHEN rat.Sido LIKE '대전%' THEN '대전광역시' WHEN rat.Sido LIKE '대구%' THEN '대구광역시' WHEN rat.Sido LIKE '광주%' AND rat.Sido != '광주시' THEN '광주광역시' WHEN rat.Sido LIKE '인천%' THEN '인천광역시' WHEN rat.Sido LIKE '경기%' T..