首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用具有ntext值的另一列更新ntext数据列

如何使用具有ntext值的另一列更新ntext数据列
EN

Stack Overflow用户
提问于 2012-03-28 16:41:43
回答 3查看 1K关注 0票数 0
代码语言:javascript
复制
TBL1

ID   Value
1    A
2    B
3    C

TBL2

ID   Value
1    
2    
3    

UPDATE TBL1
SET TBL1.ID= TBL2.ID
FROM
TBL1 t1
INNER JOIN TBL2 t2
ON t1.Value= t2.Value
WHERE t2.ID like '1'

ID - nvarchar(200)
Value - ntext

我的目的是从TBL1填充TBL2

我无法更改数据类型,因为该数据库不是我的数据库。

当我写上面的内容时,一切都应该是好的。

但是我有这个错误信息。

代码语言:javascript
复制
Msg 402, Level 16, State 1, Line 16
The data types ntext and ntext are incompatible in the equal to operator.

你知道怎么克服这个问题吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-28 16:50:35

您的目的是填充TBL2,但在示例代码中填充的是tabl1。

你想设置ID吗?价值?

尝尝这个?

代码语言:javascript
复制
UPDATE t2
SET    t2.VALUE = t1.VALUE
FROM   tbl2 t2
       LEFT JOIN tbl1 t1
         ON t1.id = t2.id  
票数 0
EN

Stack Overflow用户

发布于 2012-03-28 16:53:25

您可以尝试如下所示:

代码语言:javascript
复制
UPDATE TBL1
SET TBL1.ID= TBL2.ID
FROM
TBL1 t1
INNER JOIN TBL2 t2
ON CAST(t1.Value AS NVARCHAR(MAX)) = CAST(t2.Value AS NVARCHAR(MAX))
WHERE t2.ID like '1'

根据错误,SQL Server无法比较NTEXT列,但可以通过将这些列转换为NVARCHAR(MAX)来执行比较。

在不相关的注释中,WHERE子句中的LIKE将被视为=,因为比较字符串中没有通配符。

票数 0
EN

Stack Overflow用户

发布于 2012-03-28 18:23:38

这将详细地解释Link和ntext的比较

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9903931

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档