有关表编码造成使用COLLATE database_default的问题

原创 2012年03月28日 14:01:22
因有两个表的编码不同,所以我在做关连时用如下语句(COLLATE database_default)可执行成功
select a.*
from dbo.Call_id as a , Call_Detail as b
where a.callid COLLATE database_default = b.callid COLLATE database_default
and calltime >= '2009-01-01' and calltime < '2009-02-01'

但现在写另一语句对以上call_id 和call_detail两个表进行union all
我写为如下但总提示出错
select a1,a2 from dbo.Call_id COLLATE database_default
union all
select a1,a2 from Call_Detail COLLATE database_default

请问上面这种union all要如何改呢? 谢谢!
SQL code

select a1,a2 COLLATE database_default from Call_id

union all

select a1,a2 COLLATE database_default from Call_Detail




SQL code



select a1,a2 COLLATE database_default from Call_id

union all

select a1,a2 COLLATE database_default from Call_Detail






引用 1 楼 jia_guijun 的回复:
SQL codeselect a1,a2 COLLATE database_default from Call_id
union all
select a1,a2 COLLATE database_default from Call_Detail

頂.


因有两个表的编码不同,所以我在做关连时用如下语句(COLLATE database_default)可执行成功
select a.*
from dbo.Call_id as a , Call_Detail as b
where a.callid COLLATE database_default = b.callid COLLATE database_default
and calltime >= '2009-01-01' and calltime < '2009-02-01'

但现在写另一语句对以上call_id 和call_detail两个表进行union all
我写为如下但总提示出错
select a1,a2 from dbo.Call_id COLLATE database_default
union all
select a1,a2 from Call_Detail COLLATE database_default

请问上面这种union all要如何改呢? 谢谢!
SQL code



select a1,a2 from dbo.Call_id

union all

select a1,a2 from Call_Detail






学习


一旦数据库建立如果不是用特别指定表里字段的COLLATATION是随数据库的,所以才叫DATABASE DEFAULT当跨库或不同collatation表时,必须每个字段改写,不能对表来改写因为表好像没有这个属性吧。


6楼说得对,我试过不能用表来conllatation

但对字段来改写要如何写呢? 谢谢!


搞定了,
field COLLATE database_default


自已搞定了,原来是

field COLLATE database_default

SQL之COLLATE 子句 排序规则

COLLATE 是一个子句,可应用于数据库定义或列定义以定义排序规则,或应用于字符串表达式以应用排序规则转换。语法COLLATE { | database_default } :: =      {...

0/1字符串问题

描述 编程找出符合下列条件的字符串:①字符串中仅包含0和1两个字符;②字符串的长度为n;③字符串中不含有三个连续的相同子串。 输入格式 输入文件仅包含一个整数n(0<n≤35...

Python多进程库multiprocessing中进程池Pool类的使用

multiprocessing模块提供process类实现新建进程,可以在Python中實現並行的效果。

Mysql中文乱码问题完美解决方案【需要在my.cnf文件中设置client和mysqld的default-character-set=utf8,建数据库和表的时候也需要制定好编码】

原文:http://www.2cto.com/database/201108/101151.html MySQL会出现中文乱码的原因不外乎下列几点: 1.server本身设定问题,例如还停留在lat...

PosgreSQL 索引 COLLATE 设置不当导致查询优化无法使用索引

最近在维护一个大型PostgreSQL数据库的时候,遇到了一个问题,表的某一字段明明有索引,但是执行查询的时候优化器不去使用,VACUUM、REINDEX均无效,简单的=条件,也会导致频繁的seq s...

理解collate Chinese_PRC_CI_AS ,请看实例:sql语句中如何识别字符串中的中文逗号的问题

如题所述,网页上以标题字段进行查找时(如选择了3个标题,各标题间以英文逗号分隔),注意红色部分是一个标题(含有中文逗号) 如:  e租宝,爱国旋律,生生不息,北京华医皮肤 在sql语句中处理时会把...

sql server中collate排序关键字的使用

collate是一个子句,可应用于数据库定义或列定义以定义排序规则,或应用于字符串表达式以应用排序规则投影。 语法 COLLATE ::= { Windows_collation_nam...

SQL Server中的Collate排序规则关键字的使用

SQL Server中的Collate排序规则关键字的使用

黑马程序员---使用switch中的default发现的问题

ASP.Net+Android+IOS开发、.Net培训、期待与您交流!   public static void main(String[] args) { Scanner scanner =...

PosgreSQL 索引 COLLATE 设置不当导致查询优化无法使用索引

最近在维护一个大型PostgreSQL数据库的时候,遇到了一个问题,表的某一字段明明有索引,但是执行查询的时候优化器不去使用,VACUUM、REINDEX均无效,简单的=条件,也会导致频繁的seq s...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:有关表编码造成使用COLLATE database_default的问题
举报原因:
原因补充:

(最多只允许输入30个字)