본문 바로가기

Database/MSSQL work

CAST(), CONVERT(), TRY_(), PARSE()

"데이터 변환 함수"

 

cast() 

 

--cast로 float 적용하기

select avg( cast(sales as float) ) as [평균매출] from salesTbl; 
--4064.28571428571

price를 int에서 varchar로 변경

select cast(price as varchar)as 가격 from salesTbl

 

convert()

select avg( convert(float,sales) ) as [평균매출] from salesTbl;

테이블의 나이컬럼을 int에서 char로 변환

select convert(nvarchar(10),age)+'세' as 나이 from my_table

테이블에서 날짜DTS 칼럼을 int에서 date로 변환

select convert(date,cubstring(dts,1,8))as 날짜 from my_table

 

 

 

 

 

select convert(varchar, getdate(), 120)

--결과 : 2014-12-12 19:21:36

 

select convert(varchar(10), getdate(), 120)
select CONVERT(date, GETDATE()); --2020-11-09

--결과 : 2014-12-12

select convert(varchar(16), getdate(), 120)

--결과 : 2014-12-12 19:21

 

 

 

[이외의 날짜 변환형식]

더보기

[이외의 날짜 변환형식]

select convert(varchar, getdate(), 100)  --mon dd yyyy hh:miAM (or PM)

select convert(varchar, getdate(), 101)  --mm/dd/yyyy

select convert(varchar, getdate(), 102)  --yyyy.mm.dd

select convert(varchar, getdate(), 103)  --dd/mm/yyyy

select convert(varchar, getdate(), 104)  --dd.mm.yyyy

select convert(varchar, getdate(), 105)  --dd-mm-yyyy

select convert(varchar, getdate(), 106)  --dd mon yyyy

select convert(varchar, getdate(), 107)  --Mon dd, yyyy

select convert(varchar, getdate(), 108)  --hh:mm:ss

select convert(varchar, getdate(), 109)  --mon dd yyyy hh:mi:ss:mmmAM (or PM)

select convert(varchar, getdate(), 110)  --mm-dd-yyyy

select convert(varchar, getdate(), 111)  --yyyy/mm/dd

select convert(varchar, getdate(), 112)  --yyyymmdd

select convert(varchar, getdate(), 113)  --mon yyyy hh:mi:ss:mmm (24h)

select convert(varchar, getdate(), 114)  --hh:mi:ss:mmm (24h)

select convert(varchar, getdate(), 120)  --yyyy-mm-dd hh:mi:ss (24h)

select convert(varchar, getdate(), 121)  --yyyy-mm-dd hh:mi:ss.mmm (24h)

select convert(varchar, getdate(), 126)  --yyyy-mm-ddThh:mi:ss.mmm

select convert(varchar, getdate(), 130)  --dd mon yyyy hh:mi:ss:mmmAM

select convert(varchar, getdate(), 131)  --dd/mm/yyyy hh:mi:ss:mmmAM

 

 

 

 

try_convert() -> 실패하면 NULL

select avg( try_convert(float, sales) ) as [평균매출] from salesTbl;
select avg( try_convert(float, goodsId) ) as [평균매출] from salesTbl;	--NULL

 

 

 

 

parse()

select parse('2018년 10월 10일' as date); 
--2018-10-10

 

 

 

 

try_parse()  --> 실패하면 NULL

select try_parse('2018년 10월 10일' as date);	

 

 

 

 

 

 

 

 

 

 

'Database > MSSQL work' 카테고리의 다른 글

sp_help  (0) 2020.11.09
날짜, 기타  (0) 2020.11.09
@myVar 변수선언, 할당, 추출  (0) 2020.11.09
Merge  (0) 2020.11.09
UPDATE, DELETE  (0) 2020.11.09