2010-08-27 57 views
2

返回不同的值,当我做CHAR功能在不同的服务器

SELECT CHAR(193) 

在我的本地数据库返回Á,但是当我做同样的另一台服务器上运行的数据库就可以返回

我想Á作为正确的值,我该如何修复该功能?

数据库是单独创建的,它们并不完全相同。

+1

什么是两个数据库的“默认排序规则”? 'SELECT name,collat​​ion_Name FROM sys.databases' – 2010-08-27 22:54:04

+2

每台服务器上的数据库排序规则是什么? 'Select SERVERPROPERTY('Collat​​ion')' – Thomas 2010-08-27 22:55:01

+0

在两个数据库上? – 2010-08-27 22:59:46

回答

4

尝试使用NCHAR,而不是字符:

SELECT NCHAR(193) 
+0

+1这么简单! – 2010-08-28 00:00:41

+0

相当不错!谢谢! – BrunoLM 2010-08-28 00:07:11

1

的排序规则是不一样的,跑这来看看你得到不同的答案

SELECT CHAR(193) collate SQL_Latin1_General_Cp1256_CI_AS 
SELECT CHAR(193) 
SELECT CHAR(193) Latin1_General_CI_AS 

找出数据库的整理运行此

Select DATABASEPROPERTYEX(DB_name(),'Collation') 
+0

返回'?'和'┴'和'-' – BrunoLM 2010-08-27 23:03:24