Datetime型のフィールドを検索する場合、
SELECT * FROM Hoge WHERE datetime = '2001-01-01'
みたいな検索のかけ方をしても、上手く取れない。
SQLServerでは、2001-01-01 00:00:00を検索するため。
- DATETIME型/TIMESTAMP型の展開と WHERE句の範囲指定
日付だけを取り出して検索をするには、以下のようにする。
SELECT * FROM Hoge WHERE CONVERT(date, datetime, 112) = '2001-01-01'
CONVERTに関してはこことか参照。
- 【SQL変換関数】CONVERT ? 型の変換を行う (SQL Server)
- CAST および CONVERT (Transact-SQL)
最終更新:2012年05月22日 18:37