복붙노트

[SQL] DATETIME에 INT 변환 (SQL)

SQL

DATETIME에 INT 변환 (SQL)

나는 날짜에 날짜를 변환하려고하지만 오류를 얻고있다. 내가으로 변환하고있어 데이터 유형은 (플로트, 널 (null)) 나는 DATETIME로 변환하고 싶습니다.

이 코드의 첫 번째 줄은 잘 작동하지만 나는 두 번째 줄에이 오류가 발생합니다 :

Arithmetic overflow error converting expression to data type datetime.


CAST(CAST( rnwl_efctv_dt AS INT) AS char(8)),
CAST(CAST( rnwl_efctv_dt AS INT) AS DATETIME),

해결법

  1. ==============================

    1.INT로 변환하는 것은 1900-01-01에 그 일을 추가하기 때문에 먼저 숯불로 변환 할 필요가

    INT로 변환하는 것은 1900-01-01에 그 일을 추가하기 때문에 먼저 숯불로 변환 할 필요가

    select CONVERT (datetime,convert(char(8),rnwl_efctv_dt ))
    

    여기 몇 가지 예가 있어요

    select CONVERT (datetime,5)
    

    1900-01-06 00:00:00.000

    select CONVERT (datetime,20100101)
    

    1900-01-01..you가 한도 이상의 이동에 당신이 20,100,101일를 추가 할 수 있기 때문에, 불면

    첫째는 char로 변환

    declare @i int
    select @i = 20100101
    select CONVERT (datetime,convert(char(8),@i))
    
  2. ==============================

    2.이 시도:

    이 시도:

    select CONVERT(datetime, convert(varchar(10), 20120103))
    
  3. from https://stackoverflow.com/questions/3855867/convert-int-to-datetime-sql by cc-by-sa and MIT license