2013-07-24 139 views
0

我必须做一个更新语句,但不能这样做,因为我有在列“坎普”的enitre变量,而不是功能的嵌入式...更新SQL Server

update tbwordvariabili set CAMPO='LTRIM(TO_CHAR(MVESPOSIZIONE, '9G999G999G990D00', 'NLS_NUMERIC_CHARACTERS = '',.'' '))' where VARIABILE='ESPOSIZIONE_ORA' ; 
update tbwordvariabili set CAMPO='dbo.FormatNumber (MVSALDO, '2', ',r2r', 'zero') MVSALDO' where VARIABILE='CLIENTE_SALDO' ; 
update tbwordvariabili set CAMPO='CAP+' '+LOCALITA' where VARIABILE='CAPCITTA'' ; 
update tbwordvariabili set CAMPO=''Rata n.'+dbo.lpad(nrata,3,' ')+' - Scadenza: '+convert(nvarchar,data,103)+' - Importo: '+ cast(imp_totale as nvarchar)' where VARIABILE='PDR_DETTAGLIO_RATE' ; 
update tbwordvariabili set CAMPO='CAP+' - '+LOCALITA+ ' ('+PROVINCIA+')'' where VARIABILE='CLIENTE_LOCA_FULL' ; 
update tbwordvariabili set CAMPO=''<tr><td>'+cast (ROW_NUMBER() over(order by dtscadenza asc) as varchar(5)) +'</td>'+ RIGA_LETTERA RIGA_LETTERA ' where VARIABILE='DETTAGLIO_FATTURE' ; 
update tbwordvariabili set CAMPO='dbo.FormatNumber(sum(imp_totale),'2', ',r2r', 'zero')' where VARIABILE='PDR_IMP_TOTALE' ; 
update tbwordvariabili set CAMPO=''<tr><td>'+cast (ROW_NUMBER() over(order by dtscadenza asc) as varchar(5)) +'</td>'+ RIGA_LETTERA RIGA_LETTERA ' where VARIABILE='DETTAGLIO_FT_PACOND' ; 
update tbwordvariabili set CAMPO='cast (ROW_NUMBER() over(order by dtscadenza asc) as char(5)) +' \\tab '+ RIGA_LETTERA_RTF RIGA_LETTERA ' where VARIABILE='DETTAGLIO_FATTURE_RTF' ; 
update tbwordvariabili set CAMPO='dbo.FormatNumber (dbo.fn_get_saldo_ee(idgruppo,ngruppo) , '2', ',r2r', 'zero') MVSALDO_EE' where VARIABILE='CL_SALDO_EE' ; 
update tbwordvariabili set CAMPO='dbo.FormatNumber (dbo.fn_get_saldo_gas(idgruppo,ngruppo) , '2', ',r2r', 'zero') MVSALDO_EE' where VARIABILE='CL_SALDO_GAS' ; 

例如,如果我做一个选择(更新后),如:

select CAMPO from tbwordvariabili where VARIABILE='ESPOSIZIONE_ORA' 

回报必须是:

LTRIM(TO_CHAR(MVESPOSIZIONE, '9G999G999G990D00', 'NLS_NUMERIC_CHARACTERS = '',.'' ')) 

回答

0

首先你需要逃脱单引号将它们加倍,例如 ,例如

update tbwordvariabili set CAMPO='LTRIM(TO_CHAR(MVESPOSIZIONE, ''9G999G999G990D00'', ''NLS_NUMERIC_CHARACTERS = '''',.'''' ''))' where VARIABILE='ESPOSIZIONE_ORA' ; 
+0

完美!谢谢 – RudiDudi