我提供了一个Teradata脚本(.sql),其中几个代码位置为'mmyy','yyyymmdd',stamp_dt。要求是我想在每个月30日运行此脚本。我需要在UNIX中自动执行此过程。 为此,首先我需要在SQL脚本中多写几行以确保日期格式。该怎么办?
到目前为止,我已经在SQL程序的顶部添加了以下行。
#! /bin/ksh
# MONTH END DATE, IN FORMAT YYYY-MM-DD
END_DT=$1
ECHO END DATE IS $END_DT
TODAY1=$(date +%Y%m%d%H%M)
但是,我还有几个地方MMYY
。在那种情况下该怎么办?
我如何每次添加一个月?在这里感到困惑!!
部分代码如下:
create multiset table udxx.hh000_bank_loan_customer_?mmyy as (
sel acct_num, dept,
case when Total_Amt > 500000
then 'R'
else cus_ind
end as cus_lod
from
hh000_bank_loan_customer a
left join (sel dept_id, type, number from bank_loan) as b
on a.id = b. dept_id
) with data
primary index (ACCT_ID);
collect stats on udxx.hh000_bank_loan_customer_?mmyy index(LOAN_ACCT_ID);
我如何修改上面的'mmyy'代码块,以便我以后每个月在unix的ksh脚本中安排。
我是否需要在sql程序中添加Addmonth?
答案 0 :(得分:1)
我只用unix做这件事
day_of_month=$(date +%d)
if(( day_of_month == 10 ))
then
code goes here
fi
你打算做什么关于二月?
编辑从此处开始
关于在脚本中替换字符串的要求,你可以做这类事情。
$start_of_month="outside the scope of my answer"
sed "s/start_of_month/$start_of_month/g" original_script > script_for_this_month
script_for_this_month
答案 1 :(得分:-1)
unix / linux中的Cron是你可能正在寻找的东西。让系统担心安排脚本。