这是我的场景。执行不区分大小写在区分大小写的SQL Server数据库中使用查询
SQL Server 2014标准版,我有一个数据库,其中的排序规则为SQL_Latin1_General_CP437_BIN2
,区分大小写。
我想执行一个LIKE
查询,它应该返回输出,而不管区分大小写。例如,如果我执行Like
查询以获取userName'John'的记录,则它应该返回行,而不管区分大小写'JOHN','John','john','joHN'。
我试着用Lcase
,Ucase
,但我得到的错误
消息195,级别15,状态10,行4
'LCASE' 是无法识别的内置函数名称。
这是我简单的查询
SELECT TOP 300 *
FROM
(SELECT
userNo, userName, Place, Birthdate
FROM usertable
WHERE personid = 2
AND (Name LIKE LCASE('%john%'))
UNION
SELECT
userNo, userName, Place, Birthdate,
FROM usertable2
WHERE personid = 2
AND (Name LIKE LCASE('%john%') OR Place LIKE LCASE('%NY%'))) a
ORDER BY
userNo
专家帮我出您宝贵的建议,我有点糊涂了使用基于整理DB的。
SQL Server的功能ŧ将字符值更改为大写或小写,实际称为“上”和“下”。 ([字符串函数列表](https://msdn.microsoft.com/en-GB/library/ms181984.aspx)。)您可能正在查看错误的RDBMS的文档... –
@Matt Gibson感谢指出我,我应该使用UPPER/LOWER。 – Rajakrishnan