首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >SQL server忽略where表达式中的大小写

SQL server忽略where表达式中的大小写
EN

Stack Overflow用户
提问于 2009-08-03 20:12:55
回答 5查看 164.5K关注 0票数 101

如何构造" where“子句不区分大小写的SQL查询(MS SQL Server)?

代码语言:javascript
复制
SELECT * FROM myTable WHERE myField = 'sOmeVal'

我想让结果出来而不管这个案子

EN

回答 5

Stack Overflow用户

发布于 2009-08-03 20:17:10

通常,字符串比较是不区分大小写的。如果您的数据库配置为区分大小写,则需要强制使用不区分大小写的排序规则:

代码语言:javascript
复制
SELECT balance FROM people WHERE email = 'billg@microsoft.com'
  COLLATE SQL_Latin1_General_CP1_CI_AS 
票数 30
EN

Stack Overflow用户

发布于 2010-07-16 09:11:47

我在别处找到了另一种解决方案,即使用

代码语言:javascript
复制
upper(@yourString)

但是这里的每个人都在说,在SQL Server中,这无关紧要,因为它忽略了大小写?我很确定我们的数据库是区分大小写的。

票数 23
EN

Stack Overflow用户

发布于 2012-10-02 15:59:14

不能,只使用LIKE是行不通的。LIKE搜索与给定模式完全匹配的值。在这种情况下,LIKE将只找到文本'someval‘,而不是'sOmeVal’。

一种可行的解决方案是使用LCASE()函数。LCASE('sOmeVal')获取文本的小写字符串:“someval”。如果您在比较的两边都使用此函数,它将起作用:

SELECT * FROM myTable WHERE LCASE(myField) LIKE LCASE('sOmeVal')

该语句将比较两个小写字符串,以便您的'sOmeVal‘将匹配所有其他表示法'someval’(例如:'Someval','sOMEVAl‘等)。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1224364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档