1

2012-08-10 の形式の日付があります。日付の最初の 4 桁が必要です。を使用extract(year from date)すると動作しますが、CakePHP で問題が発生します。

だから私はLEFT()orを使用しようとしますRIGHT():

select LEFT(date,4) from table

しかし、それは機能していません。

4

3 に答える 3

4

a から 4 桁の年をdate文字列として取得する場合to_charは、次のようにします。

select to_char(some_date, 'YYYY') from table;

実際には、データベース内のほとんどすべての日付または時刻の書式設定を行う必要があるため、詳細なマニュアルto_charを読むことをお勧めします。

LEFTは文字列引数を必要とするため、LEFT は機能しませんが、date.

于 2012-08-14T07:29:11.673 に答える
4

抽出を使用したくない場合は、部分文字列を使用できます

select substring('2012-4-03',1,4);

または使用select to_char(some_date, 'YYYY') from table;

同じことを呼び出す関数を書くこともできますが、postgresqlには組み込み関数はありません。

于 2012-08-14T07:29:14.657 に答える
3

DATEから年を抽出する場合は、EXTRACT()を使用します。

SELECT EXTRACT(YEAR FROM fieldname) FROM tablename;

または、他の人が言及しているように、TO_CHAR()。

于 2012-08-14T08:01:05.903 に答える