刚刚使用sql server没有几天,发现一个很郁闷的问题,sql server 竟然不区分大小写. 比如: select * from abc_tbl where field_1 = 'abc',这个sql跟这个sql是一样的: select * from abc_tbl where field_1 = 'ABC',上网search了一下,赶紧收藏: 第零种: SELECT ACOLLATE Chinese_PRC_CI_ASFROM dbo.TEST1 WHERE C1 IS NOT NULL; COLLATE Chinese_PRC_CS_AS -- 区分大小写 COLLATE Chinese_PRC_CI_AS --不区分大小写 第一种:(蟋蟀) ALTER TABLE tb (指定某表的某列) alter database 数据库 COLLATE Chinese_PRC_CS_AS (指定整个数据库) CREATE FUNCTION StrComp(@Str1 VARCHAR(50),@Str2 VARCHAR(50)) 测试: 第三种:(Oliver) 数据库是否区分大小写取决于 sql Server 的安装方式。如果数据库区分大小写,当搜索文本数据时,必须用正确的大小写字母组合构造搜索条件。例如,如果搜索名字"Smith",则不能使用搜索条件"=smith"或"=SMITH"。 另外,如果服务器被安装成区分大小写,则必须用正确的大小写字母组合提供数据库、所有者、表和列的名称。如果提供的名称大小写不匹配,则 sql Server 返回错误,报告"无效的对象名"。 当使用关系图窗格和网格窗格创建查询时,查询设计器始终正确地反映出服务器是否区分大小写。但是,如果在 sql 窗格中输入查询,则必须注意使名称与服务器解释名称的方式相匹配。 如果服务器是用不区分大小写的选项安装的,则 第四种:(非云) 第五种:() ascii('a')再配合Substring()一起用 |
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。