0

9/11/2012 11:50:08 AMのような値を持つ日付/時刻列を含むテーブルがあります9/11/2012 4:06:19 PM10/11/2012 4:06:19 PM

の日付のレコードを取得するにはどうすればよい'9/11/2012'ですか?

4

3 に答える 3

3

これはMM/dd/yyyy

SELECT CONVERT(DATETIME, '9/11/2012 11:50:08 AM', 101);

入るには、dd/MM/yyyyこれを試してください:

SELECT CONVERT(DATETIME, '9/11/2012 11:50:08 AM', 103);

詳細については、CAST と CONVERT (Transact-SQL)および文字列から日時に変換する方法を参照してください。

編集:(あなたのコメントから)

クエリが次のような場合は、そのselect * from table where Date like '9/11/2012%'ために変換する必要があります(列が であるとDate仮定します)Datevarchar

あなたのクエリは次のように
なり9/11/2012ますMM/dd/yyyy:

SELECT * FROM TABLE WHERE CONVERT(DATETIME, DATE, 101) = '9/11/2012'

または、フォーマットされている場合9/11/2012は、これを試してください:dd/MM/yyyy

SELECT * FROM TABLE WHERE CONVERT(DATETIME, DATE, 103) = '9/11/2012'
于 2012-09-13T05:03:40.430 に答える
1

あなたの列はdatetime列であり、特定の日付のすべての行を取得したいと思います。

SQL Server 2008 では、datetime列を日付にキャストできます。

select *
from YourTable
where cast(DateTimeCol as date) = '2012-09-11'

yyyy-mm-dd文字列リテラルを使用する必要がある場合は、SQL Server 2008 で日付にdateformat を使用することをお勧めします。

さらに良いのは、日付パラメーターを使用できる場合です。

select *
from YourTable
where cast(DateTimeCol as date) = @DateParam
于 2012-09-13T05:38:16.337 に答える
0
select * from table where convert(date,date_col)='2012-09-11'
于 2012-09-13T06:40:05.970 に答える