Как конвертировать (приводить) int в ntext - PullRequest
0 голосов
/ 17 марта 2011

Мне нужно преобразовать поле int, например 1005, в ntext подобно Alarm1005, но CAST(ID as ntext) не работает, так как я могу преобразовать (приведение) int в ntext?

Ответы [ 2 ]

6 голосов
/ 17 марта 2011

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

EDIT

Поскольку gbn справедливо намекает, nvarchar(max) на самом деле является гораздо более предпочтительным типом для хранения больших строковых данных.

Две причины:

  1. У вас есть множество функций , которые работают с nvarchar по сравнению с теми, которые могут обрабатывать ntext.
  2. Типы ntext, text и image официально официально устарели.

И еще одна крошечная причина в том, что вам не нужно было бы повторять заклинание. Это будет так же просто, как CAST(ID AS nvarchar(10)) или CAST(ID AS nvarchar(max)).

1 голос
/ 17 марта 2011
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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...