1

varchar(255) を日時に変換しようとしています。私は変換を使用してみました:

Insert into contingentTable 
(startDate)

Select 
convert (datetime,startDate, 120) from tempTable

私は

文字列から日時を変換する際に変換に失敗しました。

tempTable フィールドは startdate で、データ型は varchar(255) で、例は '05/21/2013 00:00:00.000000' です。 contingentTable フィールドは startdate で、データ型は datetime で、例は 2013-05-21 です。 00:00:00.000

したがって、基本的には 05/21/2013 00:00:00.000000 から 2013-05-21 00:00:00.000 に移動する必要があります

何か助けはありますか?

4

1 に答える 1

2

データの一貫性 (つまり、非常によく知られている) を考慮すると、次のようにすることができます。

SELECT CONVERT(DATETIME,
    SUBSTRING('05/21/2013 00:00:00.000000', 1,
        LEN('05/21/2013 00:00:00.000000') - 3),
    120)

問題は単純に精度だからです。より具体的には、次のことが必要です。

SELECT CONVERT(DATETIME,
    SUBSTRING(startDate, 1, LEN(startDate) - 3),
    120)
于 2013-09-05T19:14:09.237 に答える