View previous topic :: View next topic
|
Author |
Message |
ashok_uddaraju
New User
Joined: 21 Feb 2007 Posts: 72 Location: US
|
|
|
|
Hi,
I have a query which is like
Select name||char(';'),panno||(';'),country||(';"),sum
from data.
When i run this query i see that whenever the panno is present the data is delimited by ';' which is as expected.
But when the panno is not present the delimiter is appearing after country as the value of panno is blank.
Can you please assit me in getting the delimiter evm when the value is blank? |
|
Back to top |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
Stop concatenating them.
Code: |
Select name
, ';'
, panno
, ';'
, country
, ';'
, sum
|
|
|
Back to top |
|
|
Ronald Burr
Active User
Joined: 22 Oct 2009 Posts: 293 Location: U.S.A.
|
|
|
|
If memory serves me correctly, without explicitly casting literals as type CHAR, they will be treated as though they were of type VARCHAR, and so will be prefixed with a binary length field when written to the output record. |
|
Back to top |
|
|
GuyC
Senior Member
Joined: 11 Aug 2009 Posts: 1281 Location: Belgium
|
|
|
|
it probably isn't blank but null.
null || 'blabla' is null.
'' || 'blabla' is 'blabla'
you could not concatenate them like dbz said
or use coalesce() to return '' when equal to null.
or just use the unload delimited utility |
|
Back to top |
|
|
|