Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
sql使用自身和额外字符串更新字段_Sql_Sql Server - Fatal编程技术网

sql使用自身和额外字符串更新字段

sql使用自身和额外字符串更新字段,sql,sql-server,Sql,Sql Server,我试图用一个添加的字符串来更新一个字段本身的内容,但它不起作用 UPDATE Products_Joined SET Products_Joined.TechSpecs = Products_Joined.TechSpecs + 'test' 任何可行的想法,但您可能需要删除表名 UPDATE Products_Joined SET TechSpecs = TechSpecs + 'test' 由于列数据类型为文本,因此无法使用字符串进行串联,因为列TexhSpecs是二进制数据类型(文本)

我试图用一个添加的字符串来更新一个字段本身的内容,但它不起作用

UPDATE Products_Joined SET Products_Joined.TechSpecs = Products_Joined.TechSpecs + 'test'

任何可行的想法,但您可能需要删除表名

UPDATE Products_Joined SET TechSpecs = TechSpecs + 'test'

由于列数据类型为文本,因此无法使用字符串进行串联,因为列TexhSpecs是二进制数据类型(文本)

数据类型为文本

如果您使用的是SQL Server 2005或更高版本,则可以将
text
列强制转换为
varchar(max)


如果要在SQL中连接两个字符串,请使用CONCAT作为CONCAT(string1,string2) 例如:

更新您加入的产品
设置TechSpecs=CONCAT(TechSpecs,'test');

您是否遇到错误?它是否正在运行但只是没有更改值?它会给出一个错误。这是一个电子商务平台,允许您运行SQL查询以更新产品数据库。不幸的是,它没有告诉您具体的错误。数据类型为text.Hrm。所以它只是字面上说“错误”,没有任何细节。。。这是一个很难调试的问题。您提供的语句是有效的SQL语句。此平台可能在到达SQL server并声明错误本身之前对语句进行解释。这是一个定制的电子商务平台,还是一个有名字的产品,这样我们也许可以更深入地了解它?所以我在查看volusion板时发现,在本例中,它给出了一个错误消息,尽管它相对简单。你的孩子连这个都没给你吗?似乎这只是它给你施加的一些限制。不,我没有得到那样或类似的反应。我也试过了,还有几种组合。基本上我能想到的任何东西我都试过了。如果我尝试添加另一个字段,它可以正常工作,只是无法添加到自身。请稍候,您可以说像
更新产品\u Joined set TechSpecs=NonTechSpecs+“hello”
?是的,显然这不是一个正确的名称,但如果是,那么我可以毫无问题地这样做。请确保这只是为了说明目的。如果设置了一个完全为空的新列,该怎么办。尝试一个像
updateproducts\u Joined set TechSpecs=[Empty Column]+TechSpecs+'test'
这样的语句,可能你可以愚弄它,让它让你把其他列名连在一起,即使它是空的。据我所知,他们不允许我们这样做。希望这能对你有所帮助。嗯,如果字段中已有内容,则此操作有效,但如果字段为空,则不会添加“test”。它不会返回错误。知道为什么它不会添加字段中没有任何内容的“测试”吗?@user357034-您可以使用
isnull
来处理
TechSpecs
中存在空值的情况。
UPDATE Products_Joined 
SET TechSpecs = ISNULL(CAST(TechSpecs AS VARCHAR(MAX)), '') + 'test'