Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
bom dia!
estou com dificuldades para gerar uma consulta...
tenho uma consulta que retorna as seguintes informações.
D,12345,10/07/2016,10/07/2016,s ,I, 456.00,10,1
então... preciso que na consulta o sql quebre a linha para ficar assim
D,12345,10/07/2016,10/07/2016,s ,
I, 456.00,10,1
como poderia proceder com isso...
substr(tablespace_name,1,2) || chr(10) || substr(tablespace_name,3,30)
seria da posição 1 ate 2 e 3 ate 30 ?
>
tente algo como
select table_name || ' ' || tablespace_name || ' ' ||
substr(tablespace_name,1,2) || chr(10) || substr(tablespace_name,3,30)
from user_tables
where rownum < 12
usando o chr(10)
motta...
desculpa minha ignorância mas da uma olhada no meu scrypt e ve se consegue me dar uma luz.
não consegui aplicar a sua sugestão.
select
'D'-- DOCUMENTO
||','||
CASE PDV.TIP_ID
WHEN 2 THEN LPAD(TRIM('2209'), 6,'0')--CLIENTE
WHEN 6 THEN LPAD(TRIM('2208'), 6,'0')--CLIENTE
END
||','||
LPAD(TRIM(PDV.OPE_ID_PDV||''||SUM(PDV.EVV_VALOR)), 10,'0') --NUMERO DOCUMENTO
||','||
'001' -- PARCELA
||','||
RPAD(TRIM('RC'), 3,' ') -- TIPO DOCUMENTO
||','||
TO_CHAR(PDV.EVV_DTHORA,'DD/MM/YYYY') --EMISSÃO
||','||
TO_CHAR(PDV.EVV_DTHORA,'DD/MM/YYYY') --SAIDA -- data efetiva
||','||
TO_CHAR(PDV.EVV_DTHORA,'DD/MM/YYYY') --VENCIMENTO
||','||
TO_CHAR(PDV.EVV_DTHORA,'DD/MM/YYYY') --RECEBIMENTO
||','||
LPAD(TRIM('0.000000'),15,' ') --Desconto N 15,6 (99999999.999999) 073-087 00000000.000000
||','||
LPAD(TRIM('0.000000'),15,' ') --Acréscimo N 15,6 (99999999.999999) 089-103 00000000.000000
||','||
CASE PDV.EVV_EVENTO -- complemento
WHEN 20 THEN
CASE PDV.TIP_ID
WHEN 2 THEN RPAD(TRIM('VENDA PASSE CIDADAO PDV'||' '||PDV.OPE_ID_PDV||' '||'AGENCIADOR'||' '||PDV.OPE_ID_AGENCIADOR), 50,' ')
WHEN 6 THEN RPAD(TRIM('VENDA PASSE ESTUDANTE PDV'||' '||PDV.OPE_ID_PDV||' '||'AGENCIADOR'||' '||PDV.OPE_ID_AGENCIADOR), 50,' ')
END
WHEN 21 THEN
CASE PDV.TIP_ID
WHEN 2 THEN RPAD(TRIM('CANC VENDA CIDADAO PDV'||' '||PDV.OPE_ID_PDV||' '||'AGENCIADOR'||' '||PDV.OPE_ID_AGENCIADOR), 50,' ')
WHEN 6 THEN RPAD(TRIM('CANC VENDA ESTUDANTE PDV'||' '||PDV.OPE_ID_PDV||' '||'AGENCIADOR'||' '||PDV.OPE_ID_AGENCIADOR), 50,' ')
END
END
||','||
CASE PDV.EVV_EVENTO --QUITACAO
WHEN 20 THEN 'S'
WHEN 21 THEN 'N'
END
||','||
CASE PDV.EVV_EVENTO --STATUS
WHEN 20 THEN 'B'
WHEN 21 THEN 'C'
END
||','||
' '--LPAD(TRIM(''), 3,' ') --INDICE
||','||
' '--LPAD(TRIM(''), 3,' ') --TIPO RECEBIMENTO
||','||
LPAD(TRIM('0.00'),13,' ') --VLR INSSCRC
||','||
LPAD(TRIM('0.00'),13,' ') --VLR IRRFCRC
||','||
LPAD(TRIM('0.00'),13,' ') --VLR PISCRC
||','||
LPAD(TRIM('0.00'),13,' ') --VLR CSLCRC
||','||
LPAD(TRIM('0.00'),13,' ') --VLR ISSCRC
||','||
LPAD(TRIM('0.00'),13,' ') --VLR COFINSCRC
||','||
RPAD(TRIM('S'), 5,' ') --SERIE
||','||
'I' --TIPO
||','||
LPAD(TRIM(1), 3,'0') --ITEM
||','||
CASE PDV.TIP_ID --TIPO RECEITA
WHEN 2 THEN LPAD(TRIM(10), 5,'0')
WHEN 6 THEN LPAD(TRIM(9), 5,'0')
END
||','||
CASE PDV.EVV_EVENTO --VALOR
WHEN 20 THEN LPAD(TRIM(REPLACE(TO_CHAR(((SUM(PDV.EVV_VALOR)/100) - NVL(SUM(CANC.VALOR),0)),'FM999999990D00'),',','.')||''||'0000'), 15,' ')
WHEN 21 THEN LPAD(TRIM(REPLACE(TO_CHAR((SUM(PDV.EVV_VALOR)/100) * -1,'FM999999990D00'),',','.')||''||'0000'), 15,' ')
END
||','||
LPAD(TRIM('N'), 50,' ') --OBS
||','||
LPAD(TRIM(0), 2,'0') --NROPLANO
||','||
LPAD(TRIM(0), 5,'0') --CODCUSTO
||','||
LPAD(TRIM(0), 5,'0') --CODCONTACTB
||','||
' '--LPAD(TRIM('N'), 5,' ') --CODCUSTOFIN
-- ||''||
--substr(tablespace_name,1,2) || chr(10) || substr(tablespace_name,3,30)
-- ,cast(('1500.00') as decimal(18,6))-- autentication
FROM
VIEW_EVV_VENDAS_PDV PDV
LEFT JOIN(SELECT EVV_RECIBO AS RECIBO, SUM(EVV_VALOR)/100 AS VALOR
FROM VIEW_EVV_VENDAS_PDV
WHERE EVV_EVENTO = 21 AND EVV_DTHORA BETWEEN '01-07-2016' AND '02-07-2016'
GROUP BY EVV_RECIBO
)CANC ON(PDV.EVV_RECIBO = CANC.RECIBO)
WHERE
PDV.EVV_EVENTO IN (20,21)
AND PDV.EVV_DTHORA BETWEEN '01-07-2016' AND '02-07-2016'
AND PDV.TIP_OPE_USU = 0
AND PDV.EVV_VENDA_ADM = 0
AND PDV.ENT_ID = 2
AND PDV.TIP_ID IN (2,6)
GROUP BY
TO_CHAR(PDV.EVV_DTHORA,'DD/MM/YYYY')
,TO_CHAR(PDV.EVV_DTHORA,'DDMMYY')
,PDV.OPE_ID_AGENCIADOR
,PDV.OPE_ID_PDV
,PDV.TIP_ID
,PDV.EVV_EVENTO
--,CANC.VALOR
ORDER BY PDV.OPE_ID_PDV DESC;
SELECT * FROM VIEW_EVV_VENDAS_PDV WHERE EVV_DTHORA BETWEEN '11-02-2016' AND '12-02-2016' AND EVV_EVENTO IN (20,21) AND CRU_ID = 20426;Na realidade é usar o
chr(10)
para saltar a linha
>
Na realidade é usar o
chr(10)
para saltar a linha
posso usar como no exemplo abaixo ?
campo1 || chr(10) || campo2-- este vai ficar na outra linha ?
Depende do software usado , aqui com SqlDeveloper gerando script funfou
Depende do software usado , aqui com SqlDeveloper gerando script funfou
então... eu também uso, mas pra mim não quebra a linha não. não entendo o porque disso... :(
olha um parte do código aqui...
RPAD(TRIM('S'), 5,' ') --SERIE
||chr(10) ||
'I' --TIPO
||','||
LPAD(TRIM(1), 3,'0') --ITEM
seria isso ??? ou estou me equivocando?
Sim , mas só "quebra" no SqlDeveloper na opção Executar Script
agora sim..... Muitíssimo obrigado pela ajuda!
tente algo como
from user_tables where rownum < 12 usando o chr(10)