我喜欢这样:
DECLARE @comando as varchar(5000)
set @comando = 'DTEXEC /FILE \"" /de "pass" /CHECKPOINTING OFF /REPORTING EW'
select @comando = @comando + ' /SET "\"\Package.Variables[' + Replace(str_NombreVariable,'User::','') + '].Value\"";'
+ str_ValorVariable +
CASE WHEN str_NombreVariable LIKE '%v_sRutaArchivo%' THEN @archivoCargado + '.csv\""' ELSE '' END + ''
from [Catalogo].[catVariablesEtl] where IdPaquete = 42
我想做的是做另一个案例:
CASE WHEN str_NombreVariable LIKE '%v_sCadenaConexion%' THEN '"\"'+ str_ValorVariable ELSE '' END +
但是我希望在用case创建这个新值之后删除v_sCadenaConexion
值的结果。我怎样才能做到这一点?因为如果我使用查询的情况,它只是复制现有的值。
我想要的是,如果str_NombreVariable
存在获得该值并使用我的case句创建新值。我怎样才能做到这一点?
问题:
Package.Variables[v_sCadenaConexion].Value\"";Data Source=0.0.0.0\BA;User ID=BAS;Password=000;Initial Catalog=BOS;Persist Security Info=True;Initial Catalog=SS;Persist Security Info=True;
"\"Data Source=0.0.0.0\BA;User ID=BAS;Password=000;Initial Catalog=BOS;Persist Security Info=True;Initial Catalog=SS;Persist Security Info=True;
您可以看到它重复值。所以我想解雇第一个并保留第二个(CASE one)
答案 0 :(得分:0)
不确定这是不是你的意思......
SELECT "like", u.`name`, p.post, p.date as OrderDate FROM likes ...
UNION
SELECT "share", u.`name`, p.post, p.date as OrderDate FROM shares ...