2012-01-20 8 views
0

列の11番目の文字が「G」または「W」で、日付の制約とともにレコードの数のクエリを実行しようとしていますが、多くの運があります。ここに私が試しているものがあります:NVarChar列での位置と文字の指定

SELECT * st_req_no, dt_order 
FROM shipment_info 
WHERE dt_order >= '10/01/2010' 
AND (SELECT CHARINDEX('G', st_req_no, 11) OR CHARINDEX('W', st_req_no, 11))) 
ORDER BY dt_order 

誰かが私が間違っていることを助言してもらえますか?ありがとう!

+0

あなたはいくつかのサンプルデータと、あなたのクエリを実行すると、あなたが取得している結果を示してもらえますか? –

答えて

3
Select * 
from shipment_info 
where dt_order >= '10/01/2010' 
    AND SUBSTRING(st_req_no, 11, 1) IN ('G', 'W') 
order by dt_order 
+0

おかげでCadeとすべて。これは魅力的なように働いた...あなたは素晴らしいです! :-) – daniness

-1
Select  * st_req_no 
      , dt_order 
from  shipment_info 

WHERE  (CHARINDEX('G',st_req_no,10) = 11 OR CHARINDEX('W',st_req_no,10) = 11) 
     AND dt_order >= '10/01/2010' 

order by dt_order 
+0

コード、XML、またはデータサンプルを投稿する場合は、テキストエディタでこれらの行を強調表示し、エディタツールバーの "コードサンプル"ボタン( '{}')をクリックして、それを強調する! –

+0

ありがとう、Renjith! – daniness

関連する問題