2016-09-23 3 views
0

「Thu Sep 22 3:50 2016」から「2016」に変換する簡単で短いアプローチを提案してください-09-22 "、シェルスクリプトを使用していますか?Solarisの場合「Thu Sep 22 3:50 2016」から「2016-09-22」をGNUの日付なしで

ポストの下で議論したように、私は、Solaris上のGNU日は利用できていない。 Convert date String to number on Solaris shell script gives No such file or directory

を私は日付が形式で保存されたSQL ServerのDBを照会する必要があり、「2016年9月6日」を、したがって、私はそれを変換する必要があります

答えて

0

なぜOracleのsysdateを使用しないのですか?

実は、あなたがを行う* your_tableからsaved_date> = TO_CHAR(SYSDATE、 'YYYY-MM-DD')

+0

はエラーを得た: 'TO_CHARは' が認識組み込み関数名ではありません。 – user2306856

+0

これはPL/SQL文です。元の質問を更新して、実行中のコードを含めることはできますか? – zerohero

+0

あなたはSolaris上でMS SQL Serverを実行していますか? – zerohero

1

を選択するには、こちらから入手できますがGNU日はとにかく、スクリプトによって、これを達成するための一つの方法ですがあります。

#!/bin/ksh 
a="Thu Sep 22 3:50 2016" 
echo $a | nawk ' 
BEGIN { 
    m=1 
    m2m["Jan"]=m++; 
    m2m["Feb"]=m++; 
    m2m["Mar"]=m++; 
    m2m["Apr"]=m++; 
    m2m["May"]=m++; 
    m2m["Jun"]=m++; 
    m2m["Jul"]=m++; 
    m2m["Aug"]=m++; 
    m2m["Sep"]=m++; 
    m2m["Oct"]=m++; 
    m2m["Nov"]=m++; 
    m2m["Dec"]=m++; 
} 
{ 
    printf("%s-%02d-%02d\n",$5,m2m[$2],$3) 
}' 

出力:

2016-09-22 
関連する問題