我试图用一个新值替换一列中的特定值,但它不起作用(没有错误,没有替换值,没有任何反应)。
UPDATE Components
SET Unit='kg'
WHERE Unit='КГ'
如何在单位栏中将所有值“КГ”替换为“kg”?
答案 0 :(得分:2)
我认为您的Unit
列是NVarChar()
数据类型。请尝试以下查询:
UPDATE Components
SET Unit=N'kg'
WHERE Unit=N'КГ'
另一个原因:如果您在Components表上没有更新触发器而没有在其上更新此列,则您的更新不会受到影响,也不会引发错误。
答案 1 :(得分:1)
我建议使用Quotename来解决此问题,它用于此类型的字符串。
UPDATE Components
SET Unit=QUOTENAME('kg')
WHERE Unit=QUOTENAME('КГ')
您运行的是简单直接的查询,然后就可以了。正如@Mehdi所说,其他明智之处,我也发了这个声明。
http://www.c-sharpcorner.com/Blogs/7515/quotename-function-in-sql-server.aspx