sql - 插入到 sql server 中的 sql_variant 列

标签 sql sql-server

我正在尝试从 xml 列向 sql_variant 列中插入一个值

例如。

 INSERT INTO 
  [dbo].[TestColumn]
 (
  Id,
  Attribute,
  AttributeValue
 )
 SELECT 
  Id, 
  'TestName', 
  CAST(CustomColumns.query('//TestName') AS nVarchar(MAX))
 FROM 
  [dbo].[Clmnt] (NOLOCK) 

我收到了这个错误,

Operand type clash: nvarchar(max) is incompatible with sql_variant

任何人对此有任何线索,我如何轻松地在 sql_variant 中插入一个值?

最佳答案

sql_variant 不能存储 nvarchar(max)

sql_variant (Transact-SQL)

该链接表示以下类型的值无法使用 sql_variant 存储:

varchar(max)
varbinary(max)
nvarchar(max)
xml
text
ntext
image
timestamp
sql_variant
geography
hierarchyid
geometry
User-defined types

关于sql - 插入到 sql server 中的 sql_variant 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2403756/

相关文章:

sql-server - 带有 FreeTDS、MSSQL 的东方字符

asp.net - 使用 ADO.NET 批量插入多条记录并获取所有记录的身份

php - MySQL 更新语句不起作用 图片库

mysql - SQL查询将多行返回到同一个表的单个行和列中

php - SQL 升级和规则表

sql-server - MSSQL中的并发检查(TSEQUAL的替代方法)

SQL:在Where子句中使用Len()在一次操作中过滤NULL和BLANKS

sql - SQL 中的多个 LIKE 语句

mysql - 如何按查询显示 mySQL 组中计数为零的行?

SQL 备份查询