VARCHAR타입의 문자를 DATETIME으로 변경해보자



VARCHAR(8)의 문자 '20170615'

VARCHAR(6)의 문자 '172929'


이것을 DATETIME형식의 '2017-06-15 17:29:29.000'으로 변환해보자


즉, yyyyMMdd hhmmss를 yyyy-MM-dd hh:mm:ss로 변환



DECLARE @yyyymmdd VARCHAR(8) = '20170615'
DECLARE @hhmmss VARCHAR(6) = '172929'
 
SELECT CONVERT(DATETIME, @yyyymmdd + ' ' + STUFF(STUFF(@hhmmss, 3, 0, ':'), 6, 0, ':'), 120)




출처: http://ggmouse.tistory.com/204?category=938079 [초보개발자꽁쥐]

'MSSQL > SQL' 카테고리의 다른 글

[MSSQL] DISTINCT, GROUP BY 비교  (0) 2018.07.20
[MSSQL] WHERE CASE WHEN  (0) 2018.07.20
Posted by 안낭우훗


  개념


DISTINCT

유니크한 데이터를 조회하는 경우

즉, 중복된 결과를 제거하고자 할 때 사용한다.


GROUP BY

데이터를 그룹핑해서 조회하는 경우




  비교


SELECT DISTINCT Col1 FROM Table_A
SELECT Col1 FROM Table_A GROUP BY Col1

위의 쿼리는  중복을 제거하기 위해 작성된 쿼리다.

동일하게 처리하는 듯 하지만 두 쿼리는 차이가 있다.


DISTINCT는 단순 그룹핑 작업한 수행하지만, GROUP BY 는 그룹핑 작업 + 정렬 작업을 동반한다.

따라서, 정렬 작업이 필요없을 경우 DISTINCT 를 사용하는 것이 성능상 좋다.


 






출처: http://ggmouse.tistory.com/214?category=938079 [초보개발자꽁쥐]

Posted by 안낭우훗

2018. 7. 20. 18:29 MSSQL/SQL

[MSSQL] WHERE CASE WHEN


  예제1


과목이 Math일 경우에만 점수가 100점 그 외의 경우에는 0점인 ROW 조회


SELECT *
FROM TBL_TEST
WHERE Score = (CASE WHEN @in_Subject = 'Math' THEN 100 ELSE 0 END)


위의 쿼리는 아래와 같이 AND OR 조건으로 바꿔 사용할 수도 있다.


SELECT *
FROM TBL_TEST
WHERE (@in_Subject = 'Math' AND Score = 100)
	OR (@in_Subject <> 'Math' AND Score = 0)




  예제2


과목이 Math일 경우에만 점수가 100점 그 외의 경우에는 전체 ROW 조회


SELECT * FROM TBL_TEST WHERE (CASE WHEN @in_Subject = 'Math' THEN Score ELSE '' END) = (CASE WHEN @in_Subject = 'Math' THEN 100 ELSE '' END)




  예제3


과목이 Math일 경우 점수가 100점 English일 경우에 점수가 50점인 ROW 조회


SELECT * FROM TBL_TEST WHERE (CASE WHEN @in_Subject IN ('Math','English') THEN Score ELSE '' END) = (CASE WHEN @in_Subject = 'Math' THEN 100 WHEN @in_Subject = 'English' THEN 50 ELSE '' END)




출처: http://ggmouse.tistory.com/214?category=938079 [초보개발자꽁쥐]

Posted by 안낭우훗
이전버튼 1 이전버튼

블로그 이미지
좋은싸이트 공유, 재해석 , 공부 정리, 틀린거 알려 주세요~
안낭우훗

태그목록

공지사항

Yesterday
Today
Total

달력

 « |  » 2025.5
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

최근에 올라온 글

최근에 달린 댓글

글 보관함