sql-server - 多个词动态替换
问题描述
我想动态替换表格列中的单词,因为我不知道需要替换多少单词
DECLARE @FormQuery NVARCHAR(max)='Case ',
@qry NVARCHAR(max)='';
SELECT @FormQuery = +COALESCE(@FormQuery
+ 'When ram.DynamicApplicableValueField Like ''%'
+ cmt.mastertype
+ '%'' Then replace (ram.DynamicApplicableValueField ,'''
+ cmt.mastertype + ''', rf.'
+ cmt.specialclausematchingcolumns + ') ', '')
FROM commonmastertypes cmt
JOIN (SELECT column_name
FROM information_schema.columns
WHERE table_name = 'ReeferDetails') spTable
ON cmt.specialclausematchingcolumns = spTable.column_name;
SELECT @FormQuery
O/P
Case When ram.DynamicApplicableValueField Like '%@@Temp%' Then replace (ram.DynamicApplicableValueField ,'@@Temp', rf.Preset_Temperature) When ram.DynamicApplicableValueField Like '%@@Degree%' Then replace (ram.DynamicApplicableValueField ,'@@Degree', rf.Temp_UOM)
预期结果
replace(replace(ram.DynamicApplicableValueField,'@@Temp',rf.Preset_Temperature),'@@Degree',rf.Temp_UOM)
解决方案
推荐阅读
- php - BadMethodCallException 方法不存在
- ios - 在过去 24 小时 Xcode 的 1 个版本中缺少 dSYM?
- javascript - 使用 Canvas 绘制圆形图像导致结果略有不同
- rest - 如何使用 PowerShell 通过 REST API 将 CSV 文件附加到 Service Now 事件?
- linux - PostgreSQL - 使用 shell 脚本插入名称为关键字的列
- python - Matplotlib 散点/等高线混合图
- c# - set 和 setCookie 方法有什么区别
- python - 如何合并所有子目录中同名的文本文件。合并数据将根据日期和时间存储?
- fortran - 将矩阵打印到文件中
- javascript - 滚动事件触发太早