我想創建一個新表格並設置具有特定格式的日期類型。那可能嗎?PostgreSQL - 創建表格並設置特定日期格式
例如:
CREATE TABLE User (
...
EXPIRATION DATE " YYYY/MM"
...
)
我想創建一個新表格並設置具有特定格式的日期類型。那可能嗎?PostgreSQL - 創建表格並設置特定日期格式
例如:
CREATE TABLE User (
...
EXPIRATION DATE " YYYY/MM"
...
)
我提出一個不同的方法:決不存儲日期/時間character type(text
,varchar()
,...)開始。在你的情況下,使用appropriate type,可能date
。
另外,從不使用reserved words作爲標識符。 user
只是不可能開始,你將不得不雙引號,我會勸阻。 看起來是這樣的:
CREATE TABLE usr (
usr_id serial PRIMARY KEY
,usr text UNIQUE
,expiration_date date
...
);
現在,各種輸入格式是可能的,只要他們是毫不含糊的。 related question @DrColossos has linked to in his comment有更多。
The manual has all the details.
要執行特殊的輸入格式,你可以運行文本通過to_date()
函數文本。例如:
INSERT INTO usr (usr, expiration_date)
VALUES ('flippin_user', to_date($my_date_literal, ' YYYY/MM');
注意:如果包括在圖形先端空白,它從輸入期望!
SELECT usr, to_char(expiration_date, ' YYYY/MM') AS formatted_exp_date
WHERE usr_id = 1;
[PostgreSQL的日期格式(中
你說得對,我只是用'user'作爲例子。我的意思是我想從excel文件中插入數據,所以我使用命令'COPY usr FROM'C:\ usr.csv' WITH(FORMAT CSV,HEADER);'。我可以在這個命令中使用類似於你的建議的東西嗎? –
@ D-Lef:這是一個新問題。 [考慮這個相關的答案。](http://stackoverflow.com/questions/8130594/postgresql-how-to-convert-string-date-to-timestamp-without-knowing-the-date-form/8130748#8130748) –
謝謝。正如我在上面的評論中提到的那樣,我想知道在創建表格時是否有辦法「鎖定」日期格式。 –
可能重複http://stackoverflow.com/questions/5467031/postgresql:
最後,你可以在輸出格式化你的約會你
to_char()
喜歡的任何方式日期格式) – DrColossos我認爲「重複」答案達到你想要的。如果情況並非如此,請忽略上面的評論,但我認爲鏈接的問題會做你想做的。 – DrColossos
日期沒有「格式」 –