当前位置:  开发笔记 > 数据库 > 正文

在SQL查询中替换多个字符串

如何解决《在SQL查询中替换多个字符串》经验,为你挑选了3个好方法。

我正在SQL Server中编写一个SQL查询,我需要用一个字符串值替换多个字符串值.例如

Product     Quantity
-------     --------
Apple       2
Orange      3
Banana      1
Vegetable   7
Dairy       6

会成为

Product     Quantity
-------     --------
Fruit       2
Fruit       3
Fruit       1
Vegetable   7
Dairy       6

我知道如何执行此操作的唯一方法是在SELECT子句中使用嵌套的REPLACE.

SELECT
  REPLACE('Banana', REPLACE('Orange', REPLACE('Banana', Product, 'Fruit'),
           'Fruit'), 'Fruit') AS Product
FROM
  Table

有没有更简单的方法?

编辑:产品类别中可能还有其他值.见上面编辑的例子.



1> Joel Coehoor..:

到目前为止,BradC有最好的答案,但如果你由于某种原因无法创建额外的表格,我想发布一个Kibbee答案的改编:

SELECT
    CASE WHEN Product IN ('Banana', 'Apple', 'Orange') Then 'Fruit'
    ELSE Product END 
FROM [Table]



2> BradC..:

创建一个新的"类别"表,其中包含您的产品列表以及它们所属的"类别".

然后做一个内部联接.



3> Kibbee..:
Select
Case Product WHEN 'Banana' Then 'Fruit'
WHEN 'Apple' Then 'Fruit'
WHEN 'Orange' Then 'Fruit'
ELSE Product
END
FROM Table

推荐阅读
wangtao
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有