0
私は日付の間にBETWEENを使用しようとしていますが、それが失敗するとすべての結果が返されます。誰も助け、感謝where convert(varchar(10)for not workingの間の日付)
WHERE CASE
WHEN [BVContact] IS NOT NULL
THEN convert(VARCHAR(10), [ContactStarted], 103)
WHEN [TelephoneConsultationStartedBy] IS NOT NULL
THEN convert(VARCHAR(10), [TelephoneConsultationStarted], 103)
WHEN [HomeVisitContactBy] IS NOT NULL
THEN convert(VARCHAR(10), [HomeVisitContactStarted], 103)
ELSE ''
END between '01/10/2016'
AND '02/10/2016'
あるSQLのどの方言このください?あなたは**? –
を扱う**比較のためにVARCHARに日付を変換しないでください。あなたがでて、文字列を比較しているされているデータのどのような種類同じように "BAAA"は "ABBB"の後にソートされ、同様に "02/01"は "01/02"の後にソートされます(左から右の各文字を比較するためです)。日付として保存してください。 '01/10/2016'を置いたときに文化不変式の' yyyyMMdd'を使うことを望みますか、2016年10月1日、または1月10日を意味しますか?すべての国が同じ日付設定を使用しているわけではありません。 – GarethD
ありがとうGarethD私は愚かに私のコードの一部から何かをコピーしましたCONVERTは必要ではなかったし、現在は細かい愚かな私を動作させる:) – g4cox