SQLServer設置小問題 ( 积分: 50 )

  • 主题发起人 xiaolinj79
  • 开始时间
X

xiaolinj79

Unregistered / Unconfirmed
GUEST, unregistred user!
在Delphi裏漢子是2個字節的長度
在SQLServer保存的char類型裏,漢字怎麽是一個字節的長度?
有沒有辦法設置為2個字節的方法
例如,table1裏a字段為char類型,值'測試'則
select substring(a,1,2) from table
的結果是'測試'
要怎麽設置才能得出結果為'測'?
 
在Delphi裏漢子是2個字節的長度
在SQLServer保存的char類型裏,漢字怎麽是一個字節的長度?
有沒有辦法設置為2個字節的方法
例如,table1裏a字段為char類型,值'測試'則
select substring(a,1,2) from table
的結果是'測試'
要怎麽設置才能得出結果為'測'?
 
select substring(a,1,1) from table
 
......
我的意思是要
Select substring(a,1,2) from table1
這條語句的結果是'測'而不是'測試'
 
试试看这样行没?
select left(a,1) from table
(或者把left(a,1)改为left(a,2)看看)
 
結果一樣
left(a,1)='測'
left(a,2)='測試'
應該是服務器設置的關係
我是從一個SQLserver服務器轉到另一個SqlServer服務器的
以前的程序沒問題
 
好象是要改SQL Server的设置,SQL Server2000默认的是认为每个汉字为一个字符,具体怎么改我不知道了,呵呵,楼下的解答
 
在Delphi用WideString
 
to xianguo:
這也是一個辦法
但是不想去改動程序
如果能只配置sql服務器就可以的話省去很多地方的程序修改
 
会不会是和sql服務器的“排序规则”(collation)有关.我正在看关于排序规则方面的资料。
 
to asiatony:
看到有關這個方面的資料了麽
 
xiaolinj79,
我也猜测你这个问题可能和排序规则有关。
看看这个http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/dntaloc/html/msdn_interntl.asp
希望对你有帮助。
 
結貼
改了程序了
 
顶部