sql >> データベース >  >> RDS >> PostgreSQL

PostgreSQLの日付から世紀を取得する

    Postgresでは、to_char()を使用できます 指定された日付に基づいて世紀を返す関数。

    これを行うには、CCを使用します 2番目の引数として。これにより、指定された日付に基づいて2桁の世紀が返されます。

    実例を示します。

    SELECT to_char(date '2001-03-20', 'CC');

    結果:

    21

    この場合、日付は21世紀なので、21の結果が得られます。

    21世紀は2001-01-01から始まることに注意してください。

    それより前の日付を使用するとどうなりますか。

    SELECT to_char(date '2000-03-20', 'CC');

    結果:

    20

    序数のサフィックスを追加

    thを追加できます またはTH 序数標識を世紀に追加するために、2番目の引数に追加します。

    th 小文字の序数サフィックスとTHを追加します 大文字の序数の接尾辞を追加します。

    SELECT 
      to_char(date '2001-03-20', 'CCth') AS "2001 CCth",
      to_char(date '2001-03-20', 'CCTH') AS "2001 CCTH",
      to_char(date '2000-03-20', 'CCth') AS "2000 CCth",
      to_char(date '2000-03-20', 'CCTH') AS "2000 CCTH";

    結果:

     2001 CCth | 2001 CCTH | 2000 CCth | 2000 CCTH 
    -----------+-----------+-----------+-----------
     21st      | 21ST      | 20th      | 20TH

    「センチュリー」を追加

    世紀の値とその序数標識は、必要に応じて文字列「Century」と連結できるようになりました。

    SELECT 
      concat(to_char(date '2001-03-20', 'CCth'), ' Century!');

    結果:

    21st Century!

    1. OracleのABS()関数

    2. ROWLOCK、UPDLOCK、READPASTクエリヒントに相当するOracle

    3. T-SQLのバグ、落とし穴、およびベストプラクティス–決定論

    4. 存在しない場所に値を挿入