1

varcharデータベースに からに変更したい列を持つテーブルがありますdatetime

私のデータベースでは、tgl_lahir列には次の形式のデータが含まれています。1969-10-30 00:00:00

SELECT convert (datetime, substring(tgl_lahir, 9, 2)
               +(substring(tgl_lahir, 6, 2) )
               + (left(tgl_lahir, 4)))
from penduduk

誰でも私を助けることができますか?

次のエラー メッセージが表示されました。

メッセージ 242、レベル 16、状態 3、行 2
char データ型から datetime データ型への変換により、範囲外の datetime 値が発生しました。

4

2 に答える 2

0

月-日-年を指定しているようです。SQL は日月年を想定している可能性があります。次のように、ダッシュも必要です。

 (datetime,(substring(tgl_lahir,6,2))+'-'+substring(tgl_lahir,9,2)+'-'+(left(tgl_lahir,4)))
于 2012-09-18T10:08:19.283 に答える
0

試す

Select CONVERT (datetime,tgl_lahir,120) from penduduk 
于 2012-09-18T10:25:03.723 に答える