3

800 件以上のレコードを含むテーブルがあります。このテーブルには、 dd.MM.yyyy形式の日付を含む varchar(10) データ型の「Data」という名前の列があります。これを smalldatetime に変換したいと考えています。

Enterprise Management Studio Express を使用して変換しようとしましたが、次のエラーが表示されます。

The conversion of char data type to smalldatetime data type resulted in an out-of-range smalldatetime value.

どうすれば変換できますか?

4

3 に答える 3

2

SQLは「MM.dd.yyyy」を期待していると思うので、これを機能させるには少し文字列操作を行う必要があると思います。したがって、最初に月日をフリップフロップするようにテーブルを更新してから、変換を実行する必要があります。

update YourTable
    set Data = SUBSTRING(Data,4,3) + LEFT(Data,3) + RIGHT(Data,4)
于 2010-10-01T14:49:39.203 に答える
0

次を使用できます。
SELECT ID, CAST(VarcharCol As SmallDateTime) as DateTimeCol From Test1
これにより、varcharcol値がsmalldatetimeとして返されるテーブルが返されます。次に、varcharcolのコンテンツが新しい値で更新されます。

于 2010-10-01T14:46:59.160 に答える