台灣最具影響力的-資訊專家社群 - 讓您成為最有價值的IT專業人才
線上人數
930
 
會員總數:230298
接案會員:6772
文章總數:2320
討論主題:176101
歡迎您免費加入會員
討論區列表 >> MS SQL >> 簡中繁中轉換

[變換順序]
[我要回覆]
1


回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
簡中繁中轉換
價值 : 20 QP  點閱數:937 回應數:5

點圖分享到Plurk吧!
樓主

芋頭
初學者
247 414
2544 406
發送站內信

我需要一個簡中字串轉換成繁中字串的功能
我試過以下的程式是OK的
declare @str nvarchar(50)
set @str =N'递归子目录'--> 直接把N加在字串前面
select dbo.f_GB2BIG(@str,1) -->傳入簡中的字串回傳繁中字串

但我的傳入字串是一個變數,所以我多宣告了一個變數(想說用這個變數來接原本的變數並做轉換加N),
程式改成如下的方式
declare @str nvarchar(50)
declare @strN nvarchar(50)
set @str ='递归子目录'
set @strN = N@str -->這裡會出現錯誤 (無效的資料行名稱 'N@str'。)
select dbo.f_GB2BIG(@strN,1)

請問要怎麼調整,可以把變數變成Unicode 的字串來達成我要的功能阿
謝謝大大指導

本篇文章發表於2011-10-12 11:14
什麼是iT Power資訊報 2010年藍色小舖認證專家風雲榜完全名單
1樓
回應

pilipala
檢舉此回應


當把 递归子目录 丟進變數 @str 時,就變成問號了 ~~


本篇文章回覆於2011-10-12 11:21
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

芋頭
檢舉此回應
大大你好
1.我試了依下,print @str 是正常的,並沒有出現?
2.請問加N後,對於原本繁中的字串會有任何影響ㄇ


本篇文章回覆於2011-10-12 11:42
--未登入的會員無法查看對方簽名檔--
3樓
回應

pilipala
檢舉此回應

我試了依下,print @str 是正常的,並沒有出現?


以下是我測試的結果 ~~




請問加N後,對於原本繁中的字串會有任何影響ㄇ


請參考這篇文章 在 SQL Server 中處理 Unicode 字串常數時,必需為所有的 Unicode 字串加上前置詞 N


本篇文章回覆於2011-10-12 12:05
--未登入的會員無法查看對方簽名檔--
4樓
回應

pilipala
檢舉此回應
圖形請看這 http://imageshack.us/photo/my-images/708/39207896.jpg/


本篇文章回覆於2011-10-12 12:07
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

芋頭
檢舉此回應
我懂大大的意思了
我的變數是從DB撈出來的,而DB理存的資料有可能是簡中或是繁中 
不依定,如果存的是簡中,當他撈出來的時候就會是簡中(递归子目录)不會是亂碼對ㄅ,
還是我根本不用加

declare @str nvarchar(50)
declare @strN nvarchar(50)
select top 1 @str=ColumnA from TableA where id =100
FunctionA(@str)-->傳入簡中字串 回傳繁中



本篇文章回覆於2011-10-12 14:01
--未登入的會員無法查看對方簽名檔--
[變換順序]
1
 

回覆
如要回應,請先登入.