sql语句区分大小写,怎么办?
数据库在安装时选择的是二进制,是区分大小写的,建立数据库时选择的排序规则是:Chinese_PRC_CS_AI,但之前写的一段sql代码不规范,没有注意大小写的问题,结果现在一放到分析器中执行就执行不了,请问高手有何办法解决?如这样的代码就执行不了:
DECLARE @T VARCHAR(20)
SET @T='TEST'
INSERT INTO T1 (C1) VALUES (@t)
执行时就报请先申明变量@t
现在想不改变数据库排序规则,怎么样让这段代码执行通过。
DECLARE @T VARCHAR(20)
SET @T='TEST'
INSERT INTO T1 (C1) VALUES (@t)
执行时就报请先申明变量@t
现在想不改变数据库排序规则,怎么样让这段代码执行通过。
作者: xfy78000 发布时间: 2011-06-11
SQL code
--> 创建表,插入数据: declare @maco table (number int,myvalue varchar(2)) insert into @maco select 1,'aa' union all select 2,'Aa' union all select 3,'aA' union all select 4,'AA' --不区分大小写 select * from @maco WHERE nn='aa' --区分大小写 select * from @maco WHERE nn='aa' collate Chinese_PRC_CS_AI
作者: maco_wang 发布时间: 2011-06-11
谢谢回复!我说的不是数据的大小写,而是代码的大小写会区分
作者: xfy78000 发布时间: 2011-06-11
MSSQL代码不区分大小写.
作者: qianjin036a 发布时间: 2011-06-11
你的数据库设置的是区分大小写的。
SQL code
这里的@T和@t是不同的。改为相同的就可以了。
SQL code
DECLARE @T VARCHAR(20) SET @T='TEST' INSERT INTO T1 (C1) VALUES (@t)
这里的@T和@t是不同的。改为相同的就可以了。
作者: maco_wang 发布时间: 2011-06-11
楼主代码中还有半个括号是全角的。
作者: maco_wang 发布时间: 2011-06-11
重新安装SQL SERVER选为Chinese_PRC_CI_AI,新增数据库,把旧数据库导入到新数据库;
虽然MASTER数据库可以重新构建成新的语序规则,不过还不如重新安装来的方便和快捷
虽然MASTER数据库可以重新构建成新的语序规则,不过还不如重新安装来的方便和快捷
作者: X_0 发布时间: 2011-06-11