0
我想從'YYYY-MM-DD'格式化我的日期列爲'YYYYMM'。我的代碼是: SELECT to_char(date'2015-06-01','YYYYMM');PostgresSQL日期格式
我不確定這是否有效,因爲日期仍然看起來像原始格式。另外,新的「YYYYMM」格式是否會應用於此表中導入的數據?
我想從'YYYY-MM-DD'格式化我的日期列爲'YYYYMM'。我的代碼是: SELECT to_char(date'2015-06-01','YYYYMM');PostgresSQL日期格式
我不確定這是否有效,因爲日期仍然看起來像原始格式。另外,新的「YYYYMM」格式是否會應用於此表中導入的數據?
date
類型實現爲從2000-01-01開始的天數 - 而且這個數字沒有任何可視化形式 - 它只是偏移量。您可以更改數據可視化時使用的可視化。
postgres=# set datestyle to ISO;
postgres=# select current_date;
┌────────────┐
│ date │
╞════════════╡
│ 2015-11-11 │
└────────────┘
(1 row)
postgres=# set datestyle to GERMAN;
postgres=# select current_date;
┌────────────┐
│ date │
╞════════════╡
│ 11.11.2015 │
└────────────┘
(1 row)
有用於格式化日期to_char
和處理日期字符串to_date
等輔助功能。可用於datestyle
的一組樣式有限。更多datestyle
是全局變量,使用它會增加應用程序中不需要的缺陷的風險 - 因此datestyle
的使用不是首選。
postgres=# select to_char(current_date, 'YYYYMM');
┌─────────┐
│ to_char │
╞═════════╡
│ 201511 │
└─────────┘
(1 row)
set datestyle to iso;
postgres=# select to_date('201511','YYYYMM');
┌────────────┐
│ to_date │
╞════════════╡
│ 2015-11-01 │
└────────────┘
(1 row)
默認情況下,數據以文本格式從Postgres傳輸到客戶端。因此,這些格式化函數(功能)的使用會影響客戶端收到的數據(來自數據庫)。 to_char
顯式轉換爲文本類型,所以任何客戶端都可以讀取它(因爲它必須能夠讀取文本)。
請詳細說明您的問題 –
查看postgresql [documentation](http://www.postgresql.org/docs/9.0/static/functions-formatting.html)以供參考。 – PK20
強制轉換爲字符,子串等 – jarlh