由于目前尚未安装数据库,所以使用的是vs自带的数据库进行sql语句的练习,但是在添加中文数据时,会出现??乱码,于是上网找了解决方案,原方案添加了区分大小写,导致数据库输入错误,于是修正了原方案的错误。使得可以直接使用。
declare @database nvarchar(100)
declare tmpCur cursor for
select DB_NAME()
open tmpCur
fetch next from tmpCur into @database
declare @sql nvarchar(500)
select @sql='alter database ['+@database+'] set single_user with rollback immediate'
exec(@sql)
select @sql= 'alter database ['+@database+'] collate Chinese_PRC_CS_AS'
exec(@sql)
select @sql= 'alter database ['+@database+'] set multi_user'
exec(@sql)
close tmpCur
deallocate tmpCur
下面语句是设置SQL Server数据库是否区分大小写:(表名和数据库字段名)
--修改数据库不区分大小写
alter database 数据库名称 COLLATE Chinese_PRC_CI_AS
如:alter database zjk_cx COLLATE Chinese_PRC_CI_AS
--修改数据库区分大小写
alter database 数据库名称 COLLATE Chinese_PRC_CS_AS
如:alter database zjk_cx COLLATE Chinese_PRC_CS_AS
下面是数据库各行记录内容是否区分大小写:(一般在查询时的where条件中使用)
--不区分大小写
alter database 数据库名称 alter column 字段名称 字段类e799bee5baa6e59b9ee7ad9431333365656638型 COLLATE Chinese_PRC_CI_AS
如:alter database zjk_cx alter column DBConn varchar(500) COLLATE Chinese_PRC_CI_AS
--区分大小写
alter database 数据库名称 alter column 字段名称 字段类型 COLLATE Chinese_PRC_CS_AS
如:alter database zjk_cx alter column DBConn varchar(500) COLLATE Chinese_PRC_CS_AS