Unable to export delimiter as variable to SQL


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users Unable to export delimiter as variable to SQL
# 1  
Old 04-14-2011
Unable to export delimiter as variable to SQL

Hi,

I'm using a shell wrapper to trigger a teradata sql fastexport script as follows:
Code:
#!/bin/ksh

export delm=`echo "\t"`

fexp <<!
SELECT
COALESCE(TRIM(CAST(col1 AS VARCHAR(10))),'')
||'$delm'|| COALESCE(CAST(col2 AS VARCHAR(10)),'')
||'$delm'|| COALESCE(TRIM(col3),'')
FROM TABLE;

.END EXPORT;
.LOGOFF;

I also tried 'echo $delm' & `echo $delm` in all the cases it gives me "\t" in between the column values instead of tab " ".

so, I tried with
Code:
export delm=`echo "     "`

thats working fine.

I don't want to use that. has anybody a solution ? am I doing anything wrong ?

Suyog.
# 2  
Old 04-14-2011
Does it work, when you use:

Code:
export delm='\t'
...

# 3  
Old 04-14-2011
No.. the same result... It doesn't seem to detect '\t' as a tab, what could be the reason ?
# 4  
Old 04-14-2011
printf "\t" would likely work.
# 5  
Old 04-15-2011
Hmm, both the single and double quote version work here on ksh88 on Solaris 10.

Code:
$ delim="\t"
$ print x${delim}x
x       x
$ delim='\t'
$ print x${delim}x
x       x

I double checked on a Linux system with pd-ksh, it works there too.

---------- Post updated at 10:54 ---------- Previous update was at 10:46 ----------

Just saw, that this approach does not work with a here document. This version works also with a here document on my machine:

Code:
#!/bin/ksh
delm=$(printf "\t")
cat <<!
x${delm}x
!

Output:
Code:
x       x

# 6  
Old 04-15-2011
Even in my case, the above code works.. my problem is, when I call it in the SQL using `echo $delm` it prints "\t" Smilie has anybody tried it calling in an sql ?
# 7  
Old 04-15-2011
Hi.

Not sure why you are still using echo, when it should work fine using printf!:
Code:
#!/bin/ksh

export delm=`printf "\t"`

cat <<!
SELECT
COALESCE(TRIM(CAST(col1 AS VARCHAR(10))),'')
||'$delm'|| COALESCE(CAST(col2 AS VARCHAR(10)),'')
||'$delm'|| COALESCE(TRIM(col3),'')
FROM TABLE;

.END EXPORT;
.LOGOFF;
!

Output:
Code:
SELECT
COALESCE(TRIM(CAST(col1 AS VARCHAR(10))),'')
||'	'|| COALESCE(CAST(col2 AS VARCHAR(10)),'')
||'	'|| COALESCE(TRIM(col3),'')
FROM TABLE;

.END EXPORT;
.LOGOFF;

If you're still getting \t, then try using printf "\011"
This User Gave Thanks to Scott For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Storing multiple sql queries output into variable by running sql command only once

Hi All, I want to run multiple sql queries and store the data in variable but i want to use sql command only once. Is there a way without running sql command twice and storing.Please advise. Eg : Select 'Query 1 output' from dual; Select 'Query 2 output' from dual; I want to... (3 Replies)
Discussion started by: Rokkesh
3 Replies

2. UNIX for Advanced & Expert Users

Need help export variable

Hi, Please find my code below. ps -xef | grep 14766 | awk 'BEGIN{X="java_home=";X="weblogic_home="} {for(i=1;i<=NF;i++){if($i ~ /-Dplatform\.home|java$/){split($i,P,"=");s=P?P:$i;print X""s}}}' echo "java_home="$java_home echo "weblogic_home="$weblogic_home Output: Why does... (3 Replies)
Discussion started by: mohtashims
3 Replies

3. Shell Programming and Scripting

Shell script to put delimiter for a no delimiter variable length text file

Hi, I have a No Delimiter variable length text file with following schema - Column Name Data length Firstname 5 Lastname 5 age 3 phoneno1 10 phoneno2 10 phoneno3 10 sample data - ... (16 Replies)
Discussion started by: Gaurav Martha
16 Replies

4. Shell Programming and Scripting

Can't export variable

I am relatively new to exporting variables, and I just can't seem to make this count work. What I have is the following: TOTAL=$($IMAGELIST -backupid $IM -U |gawk '{print $5}' |tail -1)|gawk '{print $6}' RESTORED=$($BPDBJOBS -most_columns -jobid $JOBS |cut -f15 -d,) |gawk '{print $6}' export... (7 Replies)
Discussion started by: newbie2010
7 Replies

5. Shell Programming and Scripting

where does variable export to?

Hi, Unix Gurus, I have a problem need help. I have a script to generate environment variable code same as following: oracle_sid=abcd export oracle_sid when I execute this code with command ./script_nane it succeeded. when I try to find it with env command or echo $oracle_sid, it does not show... (5 Replies)
Discussion started by: ken002
5 Replies

6. Shell Programming and Scripting

Export variable

Hi I have a pass a variable from one script to another. Here are my scripts Script #1 ./profile #!/bin/sh export NAME="Hello" Script #2 ./test #!/bin/sh ./profile echo $NAME when I run ./test .. i am not getting anything .. why is that? (5 Replies)
Discussion started by: arex876
5 Replies

7. Shell Programming and Scripting

Unable to export Directory paths through Script

Following is the output of .profile file - $ cat /home/estdm2/.profile #!/bin/ksh set -o vi alias l="ls -ltr" umask 002 Following is the path setting script. $ cat DM_ENV_VARS_NEW.ksh #!/bin/ksh . /home/estdm2/.profile sEnv=$1 echo "We are in ${sEnv} environment" echo "STEP010... (3 Replies)
Discussion started by: sumeet
3 Replies

8. Shell Programming and Scripting

Export SQL results to .TXT file for emailing

Hi everyone, I am new to unix and bash and in need of some help. I am writing a script that will execute a SQL query. The script runs and the SQl query runs, but I cannot figure out how to save the results as a file that can be emailed to a user. Here is my scripts thus far: #!/bin/sh SID=$1... (2 Replies)
Discussion started by: alpinescott
2 Replies

9. Shell Programming and Scripting

Export Variable

How to export variable from one script to other? Can anybody give me syntax for that? Thanks (2 Replies)
Discussion started by: navi
2 Replies

10. UNIX for Dummies Questions & Answers

Export command giving Variable Name vs the Value set for the Variable

I'm having an issue when I export within my program. I'm getting the variable name, not the variable value. I have a configuration file (config.txt) that has the values of the variables set as so: set -a export ARCHIVEPOSourceDir="/interfaces/po/log /interfaces/po/data" export... (2 Replies)
Discussion started by: ParNone
2 Replies
Login or Register to Ask a Question