私のdbaseには、intデータ型( '734503' = 01/01/2012)の6桁の日付形式があります。私はこれらをcharに正常に変換することができました:
SELECT CONVERT(char(12),dateadd(dd,(date_paid - 639906),'1/1/1753'),101)
FROM vouchers
WHERE date_paid = '734503'
これにより、2012年1月1日の出力が得られます。しかし、次のようなクエリで変換された日付を検索すると、次のようになります。
SELECT CONVERT(char(12),dateadd(dd,(date_paid - 639906),'1/1/1753'),101)
FROM vouchers
WHERE date_paid >= '09/01/2012' AND date_paid <= '09/30/2012'
なぜ変換が行われないのですか?date_paidフィールドのWHEREステートメントでCONVERTを使用しても、そこで機能するべきではありませんか?
私の質問は、変換された文字の日付で検索し、6桁の日付を使用する必要がない方法だと思います。