where句のgetdate()と比較するために、varcharに含まれる日付を取得しようとしています。 varchar型の変数は、常に次のようになります。現在のSQL Serverの部分文字列where caluse
最後に見た:MM/DD/YY
いくつかのサンプルデータ:
Last Seen: 07/12/16
Last Seen: 08/01/16
Last Seen: 07/22/16
NULL
NULL
NULL
NULL
Last Seen: 07/28/16
日時にvarchar型の変換と日間の差を求めます以下の作品:
datediff(day,CAST(substring(CA_NOTE, 12, 8) as datetime), getdate()) as dayspassed
問題は、このコードをwhere節はgetdate()と日付を比較するために同じエラーが発生します。文字列から 日付および/または時刻を変換する際に
where datediff(day,CAST(substring(CA_NOTE, 12, 8) as datetime), getdate()) > 90
メッセージ241、レベル16、状態1、行
は3、変換に失敗しました。
私はSQL Server 2014 Management Studioを実行しています。
はTRY_PARSEを使用しての
destination-dataの提案が働いていたアカウントにコメントを取るために編集されました!みんな、ありがとう。
いくつかのサンプルデータを教えてください。 – GuidoG
コメントありがとうございます。 datediff(日、CAST(datetimeとしての部分文字列(CA_NOTE、12,8))、getdate())> 90 は、前と同じエラーメッセージを返します。 – Adam
...あなたは今、別の質問があることを意味します。この新しいバージョンは* ok *ですので、@GuidoGと私たちが作業できるいくつかのサンプルデータを表示する彼の要求に戻します。 –