sql >> データベース >  >> RDS >> Sqlserver

SQLServerでvarcharを日時に変換する

    OPはmmddyyを望んでおり、単純な変換はそのためには機能しません:

    select convert(datetime,'12312009')
    
    Msg 242, Level 16, State 3, Line 1 
    The conversion of a char data type to a datetime data type resulted in 
    an out-of-range datetime value
    

    だからこれを試してみてください:

    DECLARE @Date char(8)
    set @Date='12312009'
    SELECT CONVERT(datetime,RIGHT(@Date,4)+LEFT(@Date,2)+SUBSTRING(@Date,3,2))
    

    出力:

    -----------------------
    2009-12-31 00:00:00.000
    
    (1 row(s) affected)
    


    1. OracleのCOLLATION()関数

    2. アマゾンウェブサービス(AWS)の自動スケーリングの概要

    3. CentOS用のMariaDBクラスターオフラインインストール

    4. 動的SQLを使用して複合変数フィールドの値を設定する方法