iT邦幫忙

1

請問MS SQL 資料型態 text 要如何轉成 nvarchar

MS SQL 輸入簡體字會亂碼
請問資料型態 text 要如何轉成 nvarchar~
因為已經有舊的資料,所以只能在 SQL 指令裡面改,麻煩幫忙一下~

--20181023 新增內容:
--請問我應該如何將C#讀文字進去的時候把簡體字轉成繁體字?可以提供code參考嗎?
--目前只要可以文字可以存得進去就OK了

https://ithelp.ithome.com.tw/upload/images/20181022/20107022XeAIdQLEGk.jpg

2 個回答

1
rogeryao
iT邦研究生 1 級 ‧ 2018-10-22 16:05:02

1.先將資料備份
2.https://stackoverflow.com/questions/10596871/convert-between-text-and-varcharmax-in-sql-server
用 ALTER TABLE dbo.YourTableHere
ALTER COLUMN YourTextColumnHere VARCHAR(MAX) 轉換

3.若有疑慮
https://social.msdn.microsoft.com/Forums/sqlserver/en-US/ab4269b1-539d-4a92-b3f1-2d29fe6f9d29/moving-from-text-to-varcharmax?forum=sqldatabaseengine
用 CONVERT 將 SY_Desc (text) copy 到新欄位 SY_Desc_Nvar(nvarchar) ,
在將 SY_Desc 重建為 nvarchar , copy SY_Desc_Nvar to SY_Desc

Winnie iT邦新手 5 級 ‧ 2018-10-22 16:43:37 檢舉

用 CONVERT 將 SY_Desc (text) copy 到新欄位 SY_Desc_Nvar(nvarchar) ,
在將 SY_Desc 重建為 nvarchar , copy SY_Desc_Nvar to SY_Desc

請問指令要怎麼下

1
純真的人
iT邦高手 1 級 ‧ 2018-10-22 16:44:37

我的方式是建立相同資料表~
把資料匯到表B
確認表B沒有問題
再刪除表A
在修改表B名變更為表A

insert into 表B select * from 表A

Winnie iT邦新手 5 級 ‧ 2018-10-22 17:09:37 檢舉

除了搬資料,沒有其他辦法了嗎~

你要直接轉的話~除非你有先備份~不然難保證資料沒有問題~

我要發表回答

立即登入回答