ユーザーの生年月日を取得し、年を現在の年に変更するクエリを作成しました (実際の生年月日を表示したくない)
CAST(
CAST(YEAR(GETDATE()) as varchar) + '-' +
CAST(MONTH(BirthDay) as varchar) + '-' +
CAST(DAY(BirthDay) as varchar)
as date)
テーブルに対してそれを実行すると、次のエラーが発生します。
Msg 241, Level 16, State 1, Line 1
Conversion failed when converting date and/or time from character string.
SQLFiddleでクエリを正しく動作させることができました
クエリのトラブルシューティングを行うために、各CAST()
関数を段階的に実行しましたが、それぞれが個別に機能します。に変更GETDATE()
するBirthDay
と、クエリは正しく機能しますが、これは を使用するのが好きではありませんGETDATE()
。関数が実行され、約 400 レコードを処理した後、上記のエラー メッセージが返されます。
この問題の原因となっている実際の記録を見つける方法はありますか、または日付の月と日を取得して 2013 にするより良い方法はありますか?