yyyy/mm/dd 12:00:ssのデータを抽出したい場合はどのようなSQLになりますか?

Kinya
2014-09-12 15:18 1646 1
SQLの質問です。
例えばAテーブルのDATE_TIMEという項目がyyyy/mm/dd 12:00:ssのデータを抽出したい場合はどのようなSQLになりますか?
yやmは任意の値です。

コメント

2014年 09月 12日 (15:32)
こんにちは。
イノ(inno)です。

下記のようにしてみてください。
WHERE句にDATENAME(hh,DATE_TIME)とDATENAME(mi,DATE_TIME)を使って抽出します。


-- #### テーブルを作成する
CREATE TABLE dbo.TempData
(
DATE_TIME datetime
)

-- #### データを登録する。
INSERT INTO dbo.TempData (DATE_TIME) VALUES ('2014/01/01 11:59:59')
INSERT INTO dbo.TempData (DATE_TIME) VALUES ('2014/01/01 12:00:00')
INSERT INTO dbo.TempData (DATE_TIME) VALUES ('2014/01/01 12:00:10')
INSERT INTO dbo.TempData (DATE_TIME) VALUES ('2014/01/01 12:00:20')
INSERT INTO dbo.TempData (DATE_TIME) VALUES ('2014/01/01 12:01:00')
INSERT INTO dbo.TempData (DATE_TIME) VALUES ('2014/01/01 12:00:10')
INSERT INTO dbo.TempData (DATE_TIME) VALUES ('2014/01/01 12:00:20')
INSERT INTO dbo.TempData (DATE_TIME) VALUES ('2014/01/02 11:59:59')
INSERT INTO dbo.TempData (DATE_TIME) VALUES ('2014/01/02 12:00:00')
INSERT INTO dbo.TempData (DATE_TIME) VALUES ('2014/01/02 12:00:10')
INSERT INTO dbo.TempData (DATE_TIME) VALUES ('2014/01/02 12:00:20')
INSERT INTO dbo.TempData (DATE_TIME) VALUES ('2014/01/02 12:01:00')
INSERT INTO dbo.TempData (DATE_TIME) VALUES ('2014/01/02 12:00:10')
INSERT INTO dbo.TempData (DATE_TIME) VALUES ('2014/01/02 12:00:20')

-- #### 抽出SQL
SELECT *
FROM dbo.TempData
WHERE DATENAME(hh,DATE_TIME) = 12 AND DATENAME(mi,DATE_TIME) = 0