TO_CHAR()
を使用する場合 OracleDatabaseで日時値をフォーマットする関数。AM
のいずれかを追加するだけで、子午線標識(AM / PM)を追加できます。 またはPM
フォーマットモデルに。
次に、Oracleは、時間値がAMかPMかに応じて、適切なmeridiemインジケーターを表示します。
大文字または小文字、ドットの有無にかかわらず指定できます(例:AM
、A.M.
am
、a.m
、など)。その後、Oracleは指定されたとおりに子午線インジケータを表示します。
例
デモンストレーションの例を次に示します。
SELECT TO_CHAR(timestamp '2030-12-30 08:30:45', 'HH:MI:SS AM')
FROM DUAL;
結果:
08:30:45 AM
この場合、時間は前兆であるため、結果はAM
になります。 追加。
午前と午後
これの良い点は、OracleがAMかPMかを判断し、該当するメリットインジケーターを表示することです。
したがって、時間をPM値に変更するとどうなりますか。
SELECT TO_CHAR(timestamp '2030-12-30 18:30:45', 'HH:MI:SS AM')
FROM DUAL;
結果:
06:30:45 PM
フォーマット文字列がAM
であるにもかかわらず、meridiemインジケーターがPMになりました。 。オラクルは、時がメリディエム後であることを知るのに十分賢いです。
大文字と小文字
format要素の大文字と小文字を変更すると、結果の大文字と小文字が変わります。
SELECT
TO_CHAR(timestamp '2030-12-30 18:30:45', 'HH:MI:SS AM') AS "Uppercase",
TO_CHAR(timestamp '2030-12-30 18:30:45', 'HH:MI:SS am') AS "Lowercase",
TO_CHAR(timestamp '2030-12-30 18:30:45', 'HH:MI:SS Am') AS "Mixed"
FROM DUAL;
結果:
Uppercase Lowercase Mixed ______________ ______________ ______________ 06:30:45 PM 06:30:45 pm 06:30:45 Pm
ドットとドットなし
必要に応じてドットを含めることができます:
SELECT
TO_CHAR(timestamp '2030-12-30 18:30:45', 'HH:MI:SS A.M.') AS "Uppercase",
TO_CHAR(timestamp '2030-12-30 18:30:45', 'HH:MI:SS a.m.') AS "Lowercase",
TO_CHAR(timestamp '2030-12-30 18:30:45', 'HH:MI:SS A.m.') AS "Mixed"
FROM DUAL;
結果:
Uppercase Lowercase Mixed ________________ ________________ ________________ 06:30:45 P.M. 06:30:45 p.m. 06:30:45 P.M.
ただし、これは混合ケースのメリットインジケーターに影響することに注意してください。
今日の日付と時刻
ここでは、SYSDATE
を渡します 現在の日付/時刻を取得するには:
SELECT
TO_CHAR(SYSDATE, 'HH:MI:SS A.M.')
FROM DUAL;
結果:
07:55:57 P.M.