我的措辞可能不正确,因此解决方案可能在此网站上。在这种情况下,指向我的解决方案将是伟大的。无论如何,我正在进行搜索,需要对列中的字符串和值进行比较。它必须超越LIKE。例如,我想把列放在小写字母中并取出所有空格,然后再将它与字符串进行比较(它也是小写的,并且所有空格都消失了)。我想这样做而不修改列的内容。所以只是为了比较。然后,如果比较计算结果为true,则将原始内容从列中取出(不是小写,也不是空格形式)。这可能是具体的。是否可以这样做,如果是这样,任何代码示例都会有所帮助。所以我现在有这样的事情:
SELECT *
FROM [MY_TABLE]
WHERE (
[MY_COLUMN] LIKE My_Search_String
)
所以My_Search_String已经格式化了。我只需要格式化[MY_COLUMN]而不必永久修改其内容。任何帮助表示赞赏。谢谢!
答案 0 :(得分:1)
如果您的默认排序规则或列排序规则区分大小写,则大写和小写只会有所不同。无论如何,你似乎想要:
SELECT *
FROM [MY_TABLE]
WHERE lower(replace([MY_COLUMN], ' ', '')) LIKE lower(replace(My_Search_String, ' ', ''))
答案 1 :(得分: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'