次の点を考慮してください。
SELECT [DOB] = CASE WHEN [DOB] = '-' then 'invalid date' ELSE cast([DOB] as datetime)
END
FROM myTable where myID = 73351
の場合DOB = '-'
、次のエラー メッセージが表示されます。
文字列から日時を変換する際に変換に失敗しました。
これは、SQL ServerがDOBをdatetime
印刷するだけであるにもかかわらず、 DOBをキャストしようとしていることを示しているよう'invalid date'
です。
'invalid date'
ただし、 のときに正しく返されるこれを考慮してDOB = '-'
ください。
SELECT [DOB] = CASE WHEN [DOB] = '-' then 'invalid date' ELSE 'valid date'
END
FROM myTable where myID = 73351
'invalid date'
最初のステートメントをいつ返すようにするにはどうすればよいDOB = '-'
ですか?