sql查询用不同的值替换所有特定值

时间:2014-07-07 04:25:06

标签: sql-server

我试图用一个新值替换一列中的特定值,但它不起作用(没有错误,没有替换值,没有任何反应)。

UPDATE Components
SET Unit='kg'
WHERE Unit='КГ'

如何在单位栏中将所有值“КГ”替换为“kg”?

2 个答案:

答案 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