Chinese_PRC_CI_AS and SQL_Latin1_General_CP1_CI_AS类型错误

在编写存储过程时,经常会用到临时表,而且往往会使用临时表与正式表相关联。

当临时表与正式表关联的字段是字符类型的时候,因为临时表创建的字符类型会默认数据库的编码,而正式表的字符编码可能不同,那么这个时候,需要对正式表的该字段加上collate database_default 语句来进行关联,例句:

create table Test
(
Name nvarchar(30),
Age int
)
go

create table #temp
(
Name nvarchar(30),
Class nvarchar(30)
)
go

insert into Test select '张三',18
union all select '李四',22
union all select '王五',20

insert into #temp select '张三','大一'
union all select '李四','大四'
union all select '王五','大二'

select t.*,te.Class from Test t inner join #temp te on t.Name collate database_default=te.Name

drop table #temp
drop table Test

 

 

通过这种方式就能在不同服务器的sqlserver上查询,再也不用担心突然报一个编码不正确的问题

转载于:https://www.cnblogs.com/Crownsky/p/3747842.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值