如何将(cast)int转换为ntext

时间:2011-03-17 08:34:34

标签: sql tsql sql-server-2008

我需要将int字段1005转换为ntext类似Alarm1005,但CAST(ID as ntext)不起作用,所以如何转换(强制转换) )intntext

2 个答案:

答案 0 :(得分:6)

CAST(CAST(ID as nvarchar(10)) as ntext)

修改

正如 gbn 刚刚暗示的那样,nvarchar(max)实际上是一种更适合存储大型字符串数据的类型。

有两个原因:

  1. 与可以处理nvarchar的{​​{1}}相比,您有functions个与ntext一起使用。
  2. {@ 1}},ntexttext类型已弃用officially
  3. 另一个很小的原因是,你不需要双重演员。它就像imageCAST(ID AS nvarchar(10))一样简单。

答案 1 :(得分:1)

ALTER TABLE MyTable ADD new_column NTEXT
UPDATE MyTable SET new_column = cast(old_column as nvarchar(16))
ALTER TABLE MyTable DROP COLUMN old_column