SQL Server で使用する安全な日時文字列形式は
YYYYMMDD HH:MM:SS
または YYYY-MM-DDTHH:MM:SS
.
SET DATEFORMAT
の場合、変換は失敗します。 dmyです。 言語の設定
自動的に日付形式を設定します。 ドイツ語
の両方だと思います そしてノルウェー語
dmy を使用してください。
これは失敗します:
set language norwegiandeclare @F7 varchar(10) ='26/04/2011'declare @F8 varchar(10) ='00:09:13'DECLARE @Date VARCHAR(20)SET @Date =RIGHT (@F7,4)+'/'+SUBSTRING(@F7,4,2)+'/'+LEFT(@F7,2)DECLARE @time DATETIMESET @time =CONVERT(DATETIME, @Date + ' ' + @ F8)コード> プレ>
代わりに (YYYY-MM-DDTHH:MM:SS を使用して) このようにして、言語/日付形式の設定に関係なく安全にしてください。
declare @F7 varchar(10) ='26/04/2011'declare @F8 varchar(10) ='00:09:13'DECLARE @Date VARCHAR(20)SET @Date =RIGHT(@ F7,4)+'-'+SUBSTRING(@F7,4,2)+'-'+LEFT(@F7,2)DECLARE @time DATETIMESET @time =CONVERT(DATETIME, @Date + 'T' + @F8 )コード> プレ>