[MSSQL] 문자열을 뒤에서 부터 구분자로 잘라보자 (RIGHT, REVERSE, CHARINDEX, PATHINDEX)
문자열 자르기 함수 RIGHT SELECT RIGHT(문자열, 길이) 문자열을 오른쪽에서부터 길이만큼 출력한다. SELECT RIGHT('안녕하세요', 3) -- 하세요 REVERSE SELECT REVERSE(문자열) 문자열을 거꾸로 출력한다. SELECT REVERSE('안녕하세요') -- 요세하녕안 CHARINDEX SELECT CHARINDEX(검색할문자, 문자열, [시작위치]) 문자열에서 특정 문자의 위치를 검색한다. SELECT CHARINDEX('안', '안녕하세요안녕하세요') -- 결과 : 1 SELECT CHARINDEX('안', '안녕하세요안녕하세요', 2) -- 결과 : 6 -- 시작점이 첫번째 '안' 뒤에서 부터이기 때문에, 그 이후의 '안'의 위치가 출력 PATHINDEX SELE..
[DB_MSSQL] 일/주/월/년도/요일 별로 카운트
일별, 주별, 월별, 년도별, 요일별로 카운트를 계산해보자 DATEPART, DATENAME 함수를 이용한다. 일별/주별/월별/년도별/요일별 -- 일 단위로 카운트 SELECT DATEPART(DAY, 날짜), COUNT(*) FROM 테이블명 GROUP BY DATEPART(DAY, 날짜) -- 주 단위로 카운트 SELECT DATEPART(WEEK, 날짜), COUNT(*) FROM 테이블명 GROUP BY DATEPART(WEEK, 날짜) -- 월 단위로 카운트 SELECT DATEPART(MONTH, 날짜), COUNT(*) FROM 테이블명 GROUP BY DATEPART(MONTH, 날짜) -- 년 단위로 카운트 SELECT DATEPART(YEAR, 날짜), COUNT(*) FROM 테이블명..
[DB_MSSQL] 돈 금액 천단위 콤마 찍기
돈 금액에 콤마를 찍어보자 돈 금액을 출력하고자 하는데, 100000 다음과 같이 보여준다면 얼마인지 바로 확인하기가 불편하다.이를 100,000 다음과 같이 콤마를 찍어서 조금 더 보기 편하도록 만들어보자 -- 1단계) MONEY형으로 컨버팅 SELECT CONVERT(MONEY,10000000) AS 'MONEY형' -- 2단계) 콤마를 찍기 위해 VARCHAR형으로 다시 컨버팅 SELECT CONVERT(VARCHAR,CONVERT(MONEY,10000000),1) AS 'VARCHAR형' -- 3단계) 소수점 두자리 (.00)을 제거하길 원하는 경우 SELECT REPLACE(CONVERT(VARCHAR,CONVERT(MONEY,10000000),1), '.00', '') AS '1) 소수점 두자..