У меня проблемы с работой...
У меня есть переменная, содержащая SQL с заполнителем:
echo $SQL
SELECT PX_PROMOTION_ID, PRIORITY, STATUS, EXCLSVE, TYPE, PERORDLMT, PERSHOPPERLMT, TOTALLMT, RSV_INT, PX_GROUP_ID, CAMPAIGN_ID, STOREENT_ID, VERSION, REVISION, EFFECTIVE, TRANSFER, CDREQUIRED, EXPIRE, LASTUPDATEBY, TO_CHAR(LASTUPDATE, 'YYYYMMDD HH24MMSS') AS LASTUPDATE, TO_CHAR(STARTDATE, 'YYYYMMDD HH24MMSS') AS STARTDATE, TO_CHAR(ENDDATE, 'YYYYMMDD HH24MMSS') AS ENDDATE, TO_CHAR(RSV_TIME, 'YYYYMMDD HH24MMSS') AS RSV_TIME, RSV_REAL, TGTSALES, NAME, CODE, RSV_VCH, OPTCOUNTER FROM PX_PROMOTION WHERE LASTUPDATE BETWEEN (SELECT MAX(BATCHSTART) FROM XRPTEBATCHCONTROL) AND TIMESTAMP('$BATCH_END')
У меня есть другая переменная, которая содержит значение:
echo $BATCH_END
2012-11-14 17:06:13
Я хочу заменить заполнитель значением. Я не особенно хорошо разбираюсь в сценариях Unix, но я пробовал это:
echo $SQL | sed -e "s/'$BATCH_END/$BATCH_END/g"
но он все равно не заменяется...
Может ли кто-нибудь помочь? Я хочу заменить местозаполнитель и сохранить окончательную строку, назначенную для $SQL
Мне также нужно знать, как вернуть значение возвращаемого значения в переменную, например, я попытался:
SQL=`echo "$SQL" | echo "${SQL//\$BATCH_END/$BATCH_END}"`