0

我的措辞可能不正确,因此解决方案可能在此站点上。在这种情况下,向我指出解决方案会很棒。无论如何,我正在搜索并且需要与列中的字符串和值进行比较。它必须超越 LIKE。例如,我想将列放在小写中并在将其与字符串进行比较之前取出所有空格(它太小写并且所有空格都消失了)。我想在不修改列内容的情况下执行此操作。所以只是为了比较。然后,如果比较计算结果为真,则将原始内容从列中取出(不是小写,也没有空格)。这可能是具体的。是否可以这样做,如果可以,任何代码示例都会有所帮助。所以我现在有这样的事情:

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 回答