【发布时间】:2018-11-13 22:49:05
【问题描述】:
我有一个包含以下表格的数据库:
********************************
* Code * FileName *
********************************
* NULL * Cats and Dogs *
* C123 * C123 - Cats and Dogs *
* NULL * Baking Cakes *
* Z345 * Z345 - Plants *
* F967 * E345 - Tractors *
********************************
我想返回所有行的文件名或操作文件名,这取决于代码列中是否存在值并且它与文件名中的代码匹配。
所以查询应该返回
Cats and Dogs
xxxx - Cats and Dogs
Baking Cakes
xxxx - Plants
E345 - Tractors
从以上数据集。
我正在努力对另一列中的值进行条件替换 - 如果我使用 case 语句执行此操作,我需要列出所有可能的代码,这将难以维护。有什么办法吗
Select Replace(FileName, Code, "xxxx") from table where filename like %Code%
【问题讨论】:
-
你写的查询有什么问题?这看起来非常接近可能对你有用的东西。当然,最好的答案是替换正则表达式,但 SQL Server 不支持这个开箱即用。
-
我想我想多了 - 但这特别没有返回没有代码的值。案例陈述的其他回应是我所需要的!
标签: sql replace conditional