普适SQL中不区分大小写的LIKE子句

时间:2019-01-22 13:41:44

标签: pervasive-sql

我正在尝试在普及SQL中编写一个查询,该查询与“ LIKE”子句匹配,但不区分大小写。

作为示例,我希望以下查询同时匹配“ john”,“ John”和“ JOHN”。目前,这是区分大小写的。

SELECT name FROM table WHERE name LIKE ?

在T-SQL中,我将UPPER包裹在WHERE子句的两个部分,如下所示:

SELECT name FROM table WHERE UPPER(name) LIKE UPPER(?)

但是,将任何函数放在WHERE子句的右侧都会失败,并出现语法错误。

如何实现不区分大小写的搜索?

1 个答案:

答案 0 :(得分:0)

我能想到的唯一方法是在创建SQL语句之前更改即将出现的值的大小写。像这样的C#ish代码:

string value = "world";
sql = "SELECT name FROM table WHERE name LIKE = '" + value.ToUpper();

或者,甚至最好使用Parameters并在设置参数之前设置值。

您是对的,在LIKE的右侧具有函数将导致语法错误。您可能需要将其作为错误报告给Actian。