sql语句区分大小写,怎么办?

数据库在安装时选择的是二进制,是区分大小写的,建立数据库时选择的排序规则是:Chinese_PRC_CS_AI,但之前写的一段sql代码不规范,没有注意大小写的问题,结果现在一放到分析器中执行就执行不了,请问高手有何办法解决?如这样的代码就执行不了:
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

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数据库可以重新构建成新的语序规则,不过还不如重新安装来的方便和快捷

作者: X_0   发布时间: 2011-06-11