- ベストアンサー
nvarcharとdatetimeで作成された日付の抽出方法について
SQL Server 2005 EXPRESSを使って、 nvarchar型で作成されたyyyy/mm/ddの日付と datetime型で作成されたyyyy/mm/ddの日付を比較し WHERE '2007/05/04' > gettime()のようなSELECT文の WHERE句を使って該当レコードを表示することが可能であれば 教えてください。 以上、宜しくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
CONVERT関数を使うとできます。 たとえば。 現在日時が 2007/05/22 17:48:10 だとします。 GETDATE()でその現在日時がDateTime型でとれます。 これをCONVERT関数を通して日付部分だけをnVarChar型に変換します。 CONVERT(NVARCHAR, GETDATE(), 111) 最後の「111」がフォーマットの指定で、「yyyy/MM/dd」形式で日付だけを持ってくる指定になります。 詳しくは参考URLのCONVERTの引数styleをご覧ください。
お礼
Kuppycat様 早速のご回答ありがとうございます。 ご回答が大ヒントになり解決しました。 心より厚くお礼申し上げます。 出来上がったSELECT文を公開いたします。 SELECT 名前, 文字列 FROM tbl_文字列 WHERE (文字列 >= CONVERT(NVARCHAR, 日付, 111)) 【補足】 フィールド名:文字列…nvarchar型でyyyy/mm/ddを入力 フィールド名:日付…datetime型でyyyy/mm/ddを入力 以上です。