我需要将像1005这样的int字段转换成类似ntext的Alarm1005,但是CAST(ID as ntext)不起作用,那么我如何才能将int转换为ntext呢?
发布于 2011-03-17 16:41:59
CAST(CAST(ID as nvarchar(10)) as ntext)
编辑
正如gbn恰如其分地暗示的那样,对于存储大型字符串数据,nvarchar(max)实际上是一种更可取的类型。
有两个原因:
ntext.nvarchar相比,您有足够多的ntext、text和image类型的officially已被弃用。另一个很小的原因是,你不需要双重转换。它将和CAST(ID AS nvarchar(10))或CAST(ID AS nvarchar(max))一样简单。
发布于 2011-03-17 17:05:00
ALTER TABLE MyTable ADD new_column NTEXT
UPDATE MyTable SET new_column = cast(old_column as nvarchar(16))
ALTER TABLE MyTable DROP COLUMN old_columnhttps://stackoverflow.com/questions/5336663
复制相似问题