| 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).
|  |  |