0

我必须做一个更新语句,但不能这样做,因为我必须在“CAMPO”列中插入 enitre 变量,而不是函数......

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 = '',.'' ' ))
4

1 回答 1

0

首先,您需要通过将单引号加倍来转义单引号,例如

update tbwordvariabili set CAMPO='LTRIM(TO_CHAR(MVESPOSIZIONE, ''9G999G999G990D00'', ''NLS_NUMERIC_CHARACTERS = '''',.'''' '' ))' where VARIABILE='ESPOSIZIONE_ORA' ;
于 2013-07-24T08:58:20.367 回答