列ORDERDATE
のデータタイプによって異なります。データ型DATE
またはTIMESTAMP
には、タイムゾーン情報が含まれていません。このような場合は、IST
を静的テキストとしてのみ追加することができます。 ORDERDATE
の場合データ型で
SELECT ORDERID AS ORD_ID,
TO_CHAR(ORDERDATE, 'Dy Mon dd HH24:MI:SS yyyy')||' IST' AS ORDER_DATE
FROM ORDER;
SELECT ORDERID AS ORD_ID,
TO_CHAR(ORDERDATE, 'Dy Mon dd HH24:MI:SS yyyy "IST"') AS ORDER_DATE
FROM ORDER;
また、あなたのタイムゾーンを添付して、出力のためにこれを使用することができますTIMESTAMP
次のとおりです。ORDERDATE
の場合データ型で
SELECT ORDERID AS ORD_ID,
TO_CHAR(FROM_TZ(ORDERDATE , 'Asia/Calcutta'), 'Dy Mon dd HH24:MI:SS yyyy TZD') AS ORDER_DATE
FROM ORDER;
ALTER SESSION SET TIME ZONE = 'Asia/Calcutta';
SELECT ORDERID AS ORD_ID,
TO_CHAR(ORDERDATE AT LOCAL, 'Dy Mon dd HH24:MI:SS yyyy TZD') AS ORDER_DATE
FROM ORDER;
TIMESTAMP WITH TIME ZONE
あなたです簡単に行うことができます:
ALTER SESSION SET TIME ZONE = 'Asia/Calcutta';
SELECT ORDERID AS ORD_ID,
TO_CHAR(ORDERDATE, 'Dy Mon dd HH24:MI:SS yyyy TZD') AS ORDER_DATE
FROM ORDER;
最後のクエリ以外に、ORDERDATE
の値が 'Asia/Calcutta'時間として格納されている場合にのみ、これらのすべてが適切に動作することに注意してください。
ALTER SESSION SET TIME ZONE = 'IST';
またはFROM_TZ(ORDERDATE, 'IST')
をもう1つ書きます。 ISTは、「イスラエル標準時」または「アイスランド標準時」(さらに多分)を意味する可能性があります。したがって、Oracleではエラーが発生します。最近のタイムゾーンファイルがデータベースにインストールされている場合は、タイムゾーン名Asia/Kolkata
も問題ありません。
私はあなたが欲しいものを理解していません –
テーブルの結果とあなたの予想される出力。 –