Dream Tech Blog

A person with no dream in life can never live a happy life.
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

在SQL語句中攫取的定長字段(characters)

Posted on 2004-01-20 13:50  Dream  阅读(941)  评论(0编辑  收藏  举报
在使用substring()函數時若遇到中文字會被當作一個字
    例如 select Substring('123中文456', 5) 傳回結果為 '123中文' 共 7 個char
若要指定傳回5個[char]而不是5個[字]時可用下列做法達成

先用convert()函數將字串傳轉化為binary類型,再用substring()或left()函數取得定長的字段,最後將結果用convert()轉化回varchar類型.

select convert(varchar(10), substring(convert(binary, '中文測abcde試fghi'),1,10))
--或者
select convert(varchar(10), left(convert(binary, '中文測abcde試fghi'),10))