2017-08-30 8 views
0

Microsoft SQL Server管理スタジオでselect文を実行しようとしています。データは次のようになります。私が探しているテキストに一重引用符があるSQL select文

SELECT * FROM OSUSR_W7I_INVENTORYCHANGELOG 
WHERE OBJECTTYPEID = 3 
and CREATEDBY is null 
and TEXT = 'State changed from ''Awaiting Prep'' to ''Import Error''' 

しかし、これは、レコードの多くは、このテキストをそこにいるにもかかわらず、何の結果を持ち帰るん:

snapshot of data

私のselect文です。

私はこの文を使用して、いくつかのデータを取得することができました:

SELECT * FROM OSUSR_W7I_INVENTORYCHANGELOG 
WHERE OBJECTTYPEID = 3 
and CREATEDBY is null 
and TEXT like '%Awaiting Prep%' 
and TEXT like '%Import Error%' 

をしかし、それは述べてデータ復活させているので、残念ながら、それは戻ってあまりにも多くの結果をもたらします。「に 『インポートエラー』状態から変更」を準備を待っています 私は「納品待ちです」から「インポートエラー」に変更されました。

誰でも助けてください。二重引用符を入れて他の投稿を読むと、一重引用符の問題を解決するはずですが、この例ではうまくいきません。 多くのおかげ

+0

最後に空白があるため、最初の例では機能しない理由はありますか? 'TEXT'フィールドのデータ型は何ですか? – Jamiec

+0

行から実際のテキストを引き出し、実際にそこにあるものを確認します。あなたのイメージを見ている私の目には、「from」と開始見積もりの​​間に1つ以上のスペースがあるように見えます。あなたが説明していない余分なスペースがあるかもしれません。 –

+0

こんにちはJamiec、最後に空白はありません。フィールドのデータ型はnvarcharです。 –

答えて

0

あなたの代わりに、プレースホルダとして%を使用したものに、あなたのLIKEを組み合わせることができます。

SELECT * FROM OSUSR_W7I_INVENTORYCHANGELOG 
WHERE OBJECTTYPEID = 3 
and CREATEDBY is null 
and TEXT like '%Awaiting Prep%' 
and TEXT like '%Import Error%' 

は行います

SELECT * FROM OSUSR_W7I_INVENTORYCHANGELOG 
WHERE OBJECTTYPEID = 3 
and CREATEDBY is null 
and TEXT like '%Awaiting Prep%Import Error%' 
+0

これにより、希望する「状態が「待機中」から「インポートエラー」行のみに変更されましたが、何も理由なく投票されません。 – phaen

+0

*これにより、あなたは* 。'fooAwaiting PrepbarImport Errortuu'も取得します – Jamiec

+0

こんにちはPhaen、これはうまくいきました!ありがとうございました –

0

は、SQL ServerにLTRIMとRTRIMを使用して試すことができます。空白がある場合があります。それ以外の場合、文はOKです。

SELECT * FROM OSUSR_W7I_INVENTORYCHANGELOG 
WHERE OBJECTTYPEID = 3 
and CREATEDBY is null 
and LTRIM(RTRIM(TEXT)) = 'State changed from ''Awaiting Prep'' to ''Import 
Error''' 
+0

こんにちはAnubrij、私はこれを試みたが、それは動作しませんでした。私はまだ結果がありません。 –

関連する問題