SQL Serverデータベースで問題が発生していますが、誠実に記述する方法がわかりません。したがって、私はできる限り、それを実証しようとします。部分文字列を検索するときにLIKE演算子が動作しますが、全体文字列ではありません
私は[Meter Name]
列の値が
Electric Meter #140002054 Acct.2013147 House, south mall service &&parking lot
ある複数の行を含むテーブルを持って、私は次のクエリを実行したとき、私は私が期待する正確な結果を得ます。
select distinct [Meter Name]
from Last_PM_Export
where [Meter Name] like 'Electric Meter #140002054 Acct.2013147 House, south mall service%'
「ワイルドカード」を使用しています。「サービス」という単語の直後に検索パターンを切り捨てています。私は次の結果を得る。
Expected result using partial string
繰り返しますが、これは私が期待する正確に何です。問題ない。
ここで、「サービス」という単語の直後にスペースが含まれるようにパターンを拡張するとどうなるかを観察します。
select distinct [Meter Name]
from Last_PM_Export
where [Meter Name] like 'Electric Meter #140002054 Acct.2013147 House, south mall service %'
Unexpected result using partial string
あなたが見ることができるように、クエリは結果を返しません。私はまた、テーブルから直接コピーされた文字列全体を照会しようとしました。
select distinct [Meter Name]
from Last_PM_Export
where [Meter Name] like 'Electric Meter #140002054 Acct.2013147 House, south mall service &&parking lot'
結果はすぐ上のクエリと同じです。結果がありません。
これは何らかの理由で発生するはずがないと思います。それは、私が作業するLIKE
オペレータをどのように理解しているかに直面して飛びます。私は社内のIT担当者と相談したが、これは珍しいことに同意する。
また、これは問題の非常に良い説明ではありませんが、デモで十分です。また、テーブルやデータベースをより完全に共有することができないという謝罪もありますが、機密保持のためにはできません。
ご協力いただければ幸いです。ありがとうございました。
"service"の後の空白は空白ではないかもしれません。 –
スペースと2つが何であるかを調べるためにヘキサエディタを取得します。 3つすべてが制御文字である可能性があります。データオペレータがアドレスをコピーしてデータベースに貼り付けると、私は仕事で多くのことが起こります。 – abraxascarab
あなたはページ上のデータを見て、実際にアフターサービスであることを確認できます – dbajtr