首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在SQL Server中查找全部大写的值?

如何在SQL Server中查找全部大写的值?
EN

Stack Overflow用户
提问于 2011-11-17 23:31:35
回答 11查看 57.6K关注 0票数 37

如何查找全部大写的列值?像LastName = 'SMITH'而不是'Smith'

这就是我所尝试的..。

代码语言:javascript
复制
SELECT *
  FROM MyTable
 WHERE FirstName = UPPER(FirstName)
EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2011-11-17 23:37:32

可以强制使用区分大小写的排序规则;

代码语言:javascript
复制
select * from T
  where fld = upper(fld) collate SQL_Latin1_General_CP1_CS_AS
票数 62
EN

Stack Overflow用户

发布于 2011-11-17 23:39:40

试一试

代码语言:javascript
复制
 SELECT *
  FROM MyTable
 WHERE FirstName = UPPER(FirstName) COLLATE SQL_Latin1_General_CP1_CS_AS

此排序规则允许区分大小写的比较。

如果要更改数据库的排序规则,以便不需要在查询中指定区分大小写的排序规则,则需要执行以下操作(from MSDN):

1)确保您拥有重新创建用户数据库和其中的所有对象所需的所有信息或脚本。

2)使用bcp Utility等工具导出所有数据。

3)删除所有用户数据库。

4)重建master数据库,在setup命令的SQLCOLLATION属性中指定新的排序规则。例如:

代码语言:javascript
复制
Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=InstanceName 
/SQLSYSADMINACCOUNTS=accounts /[ SAPWD= StrongPassword ] 
/SQLCOLLATION=CollationName

5)创建所有数据库和其中的所有对象。

6)导入所有数据。

票数 7
EN

Stack Overflow用户

发布于 2011-11-17 23:38:38

您需要使用区分大小写的服务器排序规则,如下所示:

代码语言:javascript
复制
SELECT * 
FROM MyTable
WHERE FirstName = UPPER(FirstName) Collate SQL_Latin1_General_CP1_CS_AS
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8169792

复制
相关文章

相似问题

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