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

ミリ秒を持つSQLでvarcharをdatetimeに変換します

    スタイル 121 を使用できますが、ミリ秒は 3 桁しか使用できません (つまり、yyyy-mm-dd hh:mi:ss.mmm(24h) ) 形式。

    declare @abc varchar(100)='2011-09-26 16:36:57.810' 
    select convert(datetime,@abc,121)
    

    したがって、次のように変換する前に、varchar フィールドを 23 文字に制限することで整理できます。

    declare @abc varchar(100)='2011-09-26 16:36:57.810000' 
    select convert(datetime,convert(varchar(23),@abc),121)
    

    または Left() を使用します 最初の 23 文字を次のように取得する関数:

    select convert(datetime,left(@abc,23),121)
    

    日付を文字列として保存しないようにしてください。



    1. SQL Server サークル

    2. OracleLobをパラメーターとして関数に渡す

    3. PHP SQL STMT SELECT複数のLIKE?出来ますか?

    4. オンラインホテル予約で競合状態を防ぐ方法