DD/MM/YYYYの形式で指定された日付の範囲を使用して日付/時刻フィールドを照会します。SQL Server - DD/MM/YYYYタイプの2つの日付の間で選択します
私は私が使用できるDD/MM/YYYY形式に日時を変換することを知っている:例えば、
CONVERT(CARCHAR(10), ORDERDATE,103)`
そして、単一の日付を照会するとき、これは正常に動作します:
SELECT DISTINCT
CONVERT(DATE, ORDERDATE),
CONVERT(CARCHAR(10), ORDERDATE,103)
FROM ORDERS
WHERE CONVERT(CARCHAR(10), ORDERDATE,103) = '19/10/2017'
戻り値を:2017-10-19, 19/10/2017
それは、範囲の日付の、例えば上では動作しません。しかし:
のWHERE CONVERT(CARCHAR(10), ORDERDATE,103) BETWEEN '17/10/2017' AND '19/10/2017'
戻り値:
2014-02-05
2016-12-12
2013-04-30
私は、SQLの日付についてのスレッドの何百もある知っているが、それらはすべての出力を再フォーマットに関する入力の準備ではないように見えます。 DD/MM/YYYY入力を再フォーマットする必要がありますか?
'date'を' char'/'varchar'に変換するのではなく、' char'/'varchar'入力を' date'に変換して比較するべきです。 – gmiley
dd/mm/yyyyのような 'type'はありません。日付は...「日付」です。 –
はい彼らは 'タイプ' DD/MM/YYYYではありません申し訳ありませんが、それらは 'フォーマット' DD/MM/YYYYにあります。 – Needaf1x