Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> Re: Sightly OT: Unix scripting
(all examples are using /usr/bin/ksh shell)
You could do it this way:
DATE=$(date '+%y%j')
DATE=$((${DATE} - 1))
[ ${#DATE} -eq 4 ] && DATE="0${DATE}"
But you have bigger problems my friend. What happens if the date is 02001 and you subtract 1. The result is 02000 which is invalid. Since you are in a script that is using the db anyway why not do something like this:
{
sqlplus -s /nolog <<EOF
connect /
set pagesize 0
select to_char(sysdate - 1, 'YYDDD') from dual;
exit;
EOF
} | grep -iv connected | read DATE
Brian P. MacLean
Oracle DBA, OCP8i
"Ball, Terry" <TBall_at_birch.c To: Multiple recipients of list ORACLE-L <ORACLE-L_at_fatcity.com> om> cc: Sent by: Subject: Sightly OT: Unix scripting root_at_fatcity.c om 03/21/02 12:08 PM Please respond to ORACLE-L
Environment: Oracle 8.1.6.3 on Solaris 5.8
I am not a Unix Guru by any strech of the imagination, so I can use all the help I can get. I am trying to write a shell script to execute sqlldr of a file whose name includes yesterday's 2 digit year and julian day in the format: file_yyjjj.csv. I can get today's date fine by setting a variable to be DATE=`date '+%y%j'`
But when I try to get DATE -1 it strips the leading 0 (since it is
currently
02). Does anyone have any suggestions as to how I can retain the leading 0
and still get yesterday's date?
TIA, Terry
Terry Ball, DBA
Birch Telecom
Work: 816-300-1335
FAX: 816-300-1801
-- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: Ball, Terry INET: TBall_at_birch.com Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Lists -------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-LReceived on Thu Mar 21 2002 - 14:13:20 CST
(or the name of mailing list you want to be removed from). You may
also send the HELP command for other information (like subscribing). -- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: INET: Brian_P_MacLean_at_eFunds.Com Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Lists -------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from). You may
also send the HELP command for other information (like subscribing).
![]() |
![]() |