declare @tb t1(col varchar(20))create table t2(col varchar(20))create table #t3(col varchar(20))请问上面三个表里的列是什么排序?如果我不知道当前数据库的排序规则是什么时,但我建表变量时,想指定列为当前数据库的排序,该怎么写?类似下面语句...
declare @tb table(col varchar(10) collate database default)
declare @tb table(col varchar(10) collate database default)
解决方案 »
- 关于sql server 中datetime型数据的截取
- 多个用户表登录查询难题
- MS-SQL Server 的入门问题
- 帮忙优化个SQL语句!8点之前揭帖!!提出优化方案也行!
- SQL语句写法
- sqlserver2000中有没有检查磁盘剩余空间的方法,在线等,急...
- Where custmoers.CustomerNumber+23*=orders.CustomerNumber 请问这个"*"是什么意思呢?
- 那位大虾看看该存储过程为何不能插入数据。
- 各位,在Interbase中如何调节数据库的性能,比如我用Interbase5.5+Tcpip,服务器是PIII500+64M,客户端一老连接超时,(才两个)。
- 求SQL语句
- 求教一个sql的写法
- 左联接问题,请指教
SELECT CONVERT(char, DATABASEPROPERTYEX('数据库名', 'collation'))
--结果:Chinese_PRC_CI_AS查出排序规则后,指定排序规则
declare @tb table(col varchar(10) COLLATE Chinese_PRC_CI_AS)
如果两个表的排序规则不同,则会造成排序冲突解决方案:
select a.*,b.* from t1 a left t2 b on a.关键字=b.关键字 collate Chinese_PRC_CI_AS
即可解决
上面三个表列的排序是你的表所在数据库的排序查看当前你的表所在数据库的排序规则:
SELECT CONVERT(char, DATABASEPROPERTYEX('数据库名', 'collation'))
--结果:Chinese_PRC_CI_AS查出排序规则后,指定排序规则
declare @tb table(col varchar(10) COLLATE Chinese_PRC_CI_AS)
========不是的,只有t2表是和数据库相同的,t3表应该是和tempdb数据排序一样,t1表估计是和master数据库排序相同(但不改确定)
第二个问题指定排序代码方法不能通用,假如代码放在另一个不同排序的数据库执行就会出错了.
我要的结果是让上述表变量里的字段总是和它所在数据库的排序一样.