データベースにyyyy/mm/ddの形式でStartDate
データ型として保存しました。にキャストしようとすると、取得していますnvarchar
datetime
Arithematic Flow Error.
このエラーは何ですか? cast
とメソッドの両方を試しましconvert
たが、まだエラーがスローされます。
これが私のコードです:
cast(Start_Date as datetime) &&
convert(datetime,Start_Date,103 )
データベースにyyyy/mm/ddの形式でStartDate
データ型として保存しました。にキャストしようとすると、取得していますnvarchar
datetime
Arithematic Flow Error.
このエラーは何ですか? cast
とメソッドの両方を試しましconvert
たが、まだエラーがスローされます。
これが私のコードです:
cast(Start_Date as datetime) &&
convert(datetime,Start_Date,103 )
CAST と CONVERTを見てください。
103
dd/mm/yyyy
これは失敗します
declare @S varchar(10)
set @S = '2012/03/31'
select convert(datetime, @S, 103)
代わりにこれを試してください
select convert(datetime, replace(@S, '/', ''), 112)
SET DATEFORMAT asがある場合、キャストは失敗しますdmy
。
set dateformat dmy
declare @S varchar(10)
set @S = '2012/03/31'
select cast(@S as datetime)
ただし、ymd
代わりに使用すると問題なく動作します。
declare @TestDateValue nvarchar(50)
set @TestDateValue = '2012/12/03'
select cast(@TestDateValue as datetime) as NewTestDateTime
コードが機能するはずです。ここで例を挙げただけです。変換しようとしている文字列を投稿できますか。それに何かがあるかもしれません。