2017-01-07 2 views
0

과 같은 값을 가진 varchar 데이터 형식의 열이 있습니다. 나는 2016-05-03으로 int로 변환하고 싶다. 내가 그렇게 할 노력하고있어 때열 varchar를 int로 변환 할 수 없습니다.

cast(convert(varchar(10), '5/3/2012', 112) as int) 
+3

'2016-05-03'은'날짜 '로'정수 '가 아닙니다. –

답변

1

2016-05-03Date 아닌 Integer 값이 출력으로 null을 반환합니다. 그래서 당신은 당신은 단지 스타일 101

Select convert(Date, '5/3/2012', 101) --2012-05-03 
+0

Prdp 나는 da가 아닌 int로로드해야합니다. te – user2667326

+0

@ user2667326 -'Int'는'-'를 저장할 수 없습니다 –

0

DateConvert이 원하는 Date

로 변환해야하지만 진정 INT로 변환해야하는 경우,이 시도 -

DECLARE @d DATE = '5/3/2012' 
DECLARE @y int = YEAR(@d) 
    , @m int = MONTH(@d) 
    , @dy int = DAY(@d) 

SELECT CAST(concat(@y, format(@m, '00'), format(@dy,'00')) as int) 
+0

'나는 2016-05-03으로 int로 변환하고 싶습니다. '라는 메시지를 보았습니까? 심지어 놀랍습니다. –

+0

@everyone 대단히 감사합니다. – user2667326

0
SELECT CONVERT(INT,convert(Datetime, '5/3/2012', 101)) 
--41030 
+0

답변에 대한 자세한 내용 추가 – GurV

관련 문제