2017-01-05 16 views
-1

私は日付の範囲に基づいてデータを検索する必要があるとMSのデータベース内のレコードをマッチング、私はそれが動作していないSQLクエリの下sqlの日付とワイルドカードの範囲を使用してテーブルからデータを取得する方法は?

select * 
from table_name 
where column_name1 between 'from date' and 'to date' 
    and column_name2 like '%-R' 

を使用しています、あなたはいくつかのいずれかを喜ばことができ、それは働いていない理由を説明してみましょう私は彼らの他の方法を知っている。ここで

+5

しないでください_働いていません。それは非常にあいまいで、問題の診断には役に立たない。また、エラーメッセージがある場合はそれを提供するか、エラーメッセージが表示されない理由を説明してください。最後に、この問題を解決する方法と、それがまだ機能しない理由について教えてください。 – dfundako

+0

探している検索パターンは何ですか?column_name1のデータタイプは何ですか?正しい日付形式を使用していますか? – LONG

+2

あなたのwhere述語はかなり疑わしいです。私はあなたが2つの値の間の文字列を探しているのではないかと思います。 –

答えて

0

は、私は2日付を指定して検索するために使用するもののフォーマットの一例である:

-- try not to use * in your select. Pick the columns you actually need. 

Select * from table_name 
where column_name1 between '2016/12/25' and '2016/12/27' 
and column_name2 like '%-R' 

私は、私はそれを修正する方法を伝えることはできません正確に動作していないものを実際にはわからないんだけど行ってみましょう。あなたが入れた日付は、あなたのテーブルの日付列に合うようにフォーマットする必要があります。

+0

'dd/MM/yyyy'または' MM/dd/yyyy'のいずれかの形式で日付を使用すると、問題が発生することがあります。 'yyyy/MM/dd'のようにあまりあいまいではないものを使うのがよい。 – iamdave

+0

Dave。私は同意し、私は通常あなたが提案した方法でやります。私は自分のコラムのフォーマットにもよりますが、ベストプラクティスを反映するようにコードを変更します。 – bwilliamson

関連する問題