Eri*_*ess 12 sql t-sql sql-server
我正在SQL Server中编写一个SQL查询,我需要用一个字符串值替换多个字符串值.例如
Product Quantity
------- --------
Apple 2
Orange 3
Banana 1
Vegetable 7
Dairy 6
Run Code Online (Sandbox Code Playgroud)
会成为
Product Quantity
------- --------
Fruit 2
Fruit 3
Fruit 1
Vegetable 7
Dairy 6
Run Code Online (Sandbox Code Playgroud)
我知道如何执行此操作的唯一方法是在SELECT子句中使用嵌套的REPLACE.
SELECT
REPLACE('Banana', REPLACE('Orange', REPLACE('Banana', Product, 'Fruit'),
'Fruit'), 'Fruit') AS Product
FROM
Table
Run Code Online (Sandbox Code Playgroud)
有没有更简单的方法?
编辑:产品类别中可能还有其他值.见上面编辑的例子.
Joe*_*orn 20
到目前为止,BradC有最好的答案,但如果你由于某种原因无法创建额外的表格,我想发布一个Kibbee答案的改编:
SELECT
CASE WHEN Product IN ('Banana', 'Apple', 'Orange') Then 'Fruit'
ELSE Product END
FROM [Table]
Run Code Online (Sandbox Code Playgroud)
Select
Case Product WHEN 'Banana' Then 'Fruit'
WHEN 'Apple' Then 'Fruit'
WHEN 'Orange' Then 'Fruit'
ELSE Product
END
FROM Table
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
40456 次 |
| 最近记录: |