• ベストアンサー

nvarcharとdatetimeで作成された日付の抽出方法について

SQL Server 2005 EXPRESSを使って、 nvarchar型で作成されたyyyy/mm/ddの日付と datetime型で作成されたyyyy/mm/ddの日付を比較し WHERE '2007/05/04' > gettime()のようなSELECT文の WHERE句を使って該当レコードを表示することが可能であれば 教えてください。 以上、宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Kuppycat
  • ベストアンサー率50% (109/216)
回答No.1

CONVERT関数を使うとできます。 たとえば。 現在日時が 2007/05/22 17:48:10 だとします。 GETDATE()でその現在日時がDateTime型でとれます。 これをCONVERT関数を通して日付部分だけをnVarChar型に変換します。 CONVERT(NVARCHAR, GETDATE(), 111) 最後の「111」がフォーマットの指定で、「yyyy/MM/dd」形式で日付だけを持ってくる指定になります。 詳しくは参考URLのCONVERTの引数styleをご覧ください。

参考URL:
http://msdn2.microsoft.com/ja-jp/library/ms187928.aspx
sky21
質問者

お礼

Kuppycat様 早速のご回答ありがとうございます。 ご回答が大ヒントになり解決しました。 心より厚くお礼申し上げます。 出来上がったSELECT文を公開いたします。 SELECT 名前, 文字列 FROM tbl_文字列 WHERE (文字列 >= CONVERT(NVARCHAR, 日付, 111)) 【補足】 フィールド名:文字列…nvarchar型でyyyy/mm/ddを入力 フィールド名:日付…datetime型でyyyy/mm/ddを入力 以上です。

関連するQ&A