0

私の言葉遣いは正しくない可能性があるため、解決策はこのサイトにある可能性があります。その場合、解決策を教えていただければ幸いです。とにかく、私は検索を行っており、列にある文字列と値に対して比較を行う必要があります。LIKEを超えなければなりません。たとえば、列を小文字にして、すべてのスペースを文字列と比較する前に取り出したいと思います (これは小文字に入れすぎて、すべてのスペースがなくなっています)。列の内容を変更せずにこれを行いたいです。だから比較のためだけに。次に、比較が true と評価された場合は、元の内容を列から取り出します (小文字ではなく、スペースがない形式)。これは具体的かもしれません。これを行うことは可能ですか?もしそうなら、コードサンプルが役立ちます. だから私は今このようなものを持っています:

SELECT *
FROM [MY_TABLE]
WHERE (
       [MY_COLUMN] LIKE My_Search_String
      )

そのため、My_Search_String は既にフォーマットされています。[MY_COLUMN] の内容を永続的に変更せずにフォーマットするだけです。どんな助けでも大歓迎です。ありがとうございました!

4

2 に答える 2

2

デフォルトの照合順序または列の照合順序で大文字と小文字が区別される場合にのみ、大文字と小文字が違います。いずれにせよ、あなたは次のことを望んでいるようです:

SELECT *
FROM [MY_TABLE]
WHERE lower(replace([MY_COLUMN], ' ', '')) LIKE lower(replace(My_Search_String, ' ', ''))
于 2013-09-03T01:00:19.760 に答える
1

以下のクエリで問題が解決すると思います。

IF EXISTS(select * from [MY_TABLE] where LOWER(REPLACE([MY_COLUMN],' ','')) like 'My_Search_String')

     INSERT INTO Another_Table
     select * from [MY_TABLE] where LOWER(REPLACE([MY_COLUMN],' ','')) like  'My_Search_String'
于 2013-09-03T06:03:03.503 に答える