PostgreSQL 數(shù)據(jù)類型介紹(二)

  • Boolean 類型
Paste_Image.png

如圖所示码倦,常見的數(shù)據(jù)類型圖片所示终畅。

  • 枚舉(enum)類型
    示例如下:

備注:其實(shí)和java里的枚舉一樣宏所。

//創(chuàng)建一個(gè)枚舉類型
postgres=# CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy');
CREATE TYPE
//創(chuàng)建 person 表命咐,并使用該枚舉。
postgres=# CREATE TABLE person (name text,current_mood mood);
CREATE TABLE
//插入一條記錄:
postgres=# INSERT INTO person VALUES ('Moe', 'happy');
INSERT 0 1
//查詢記錄
postgres=# SELECT * FROM person WHERE current_mood = 'happy';
 name | current_mood 
------+--------------
 Moe  | happy
(1 row)


-- 輸入一個(gè)不存在的枚舉值, 將報(bào)錯(cuò)
postgres=# SELECT * FROM person WHERE current_mood = 'happ';
ERROR:  invalid input value for enum mood: "happ"
LINE 1: SELECT * FROM person WHERE current_mood = 'happ';
-- 避免報(bào)錯(cuò)的方法, 把枚舉轉(zhuǎn)換成text     
postgres=# SELECT * FROM person WHERE current_mood::text = 'happ';
 name | current_mood 
------+--------------
(0 rows)

postgres=# 

枚舉值每一個(gè)在行中占用4 bytes :
postgres=# select current_mood,pg_column_size(current_mood) from person;
current_mood | pg_column_size
--------------+----------------
happy | 4
枚舉的標(biāo)簽在定義中最大限制由NAMEDATALEN決定, 默認(rèn)是64-1=63. 前面已經(jīng)講過. 意味著 枚舉值不能超過 63個(gè)字符乙各。
postgres=# \d pg_enum
    Table "pg_catalog.pg_enum"
    Column     | Type | Modifiers 
---------------+------+-----------
 enumtypid     | oid  | not null
 enumsortorder | real | not null
 enumlabel     | name | not null
//表名的長度也是NAMEDATALEN決定的墨礁。
postgres=# \d pg_class ;
         Table "pg_catalog.pg_class"
       Column        |   Type    | Modifiers 
---------------------+-----------+-----------
//表名也是一個(gè)name類型, 長度也不能超過63個(gè)字符耳峦。
 relname             | name      | not null
 relnamespace        | oid       | not null


查找枚舉的數(shù)據(jù)結(jié)構(gòu) :
postgres=# select oid,typname from pg_type where typname='mood';
oid | typname
---------+---------
3952969 | mood
postgres=# select * from pg_enum where enumtypid=3952969;
enumtypid | enumsortorder | enumlabel
-----------+---------------+-----------
3952969 | 1 | sad
3952969 | 2 | ok
3952969 | 3 | happy

枚舉類型變更(枚舉類型的插入和刪除)

ALTER TYPE name ADD VALUE new_enum_value [ { BEFORE | AFTER } existing_enum_value ]

This form adds a new value to an enum type. If the new value's place in the enum's ordering is not specified using BEFORE or AFTER, then the
new item is placed at the end of the list of values.

如果不指定 Before 和 AFTER 的話恩静,默認(rèn)插到最后。
一般盡量插到最后蹲坷,否則會(huì)對性能有影響驶乾。
好比java里的集合吧,有序集合插到最后屬組開銷較小循签。

  • money類型
postgres=# show lc_monetary;
 lc_monetary 
-------------
 C
(1 row)

//將12.345換算成money
postgres=# select '12.345'::money;
 money  
--------
 $12.35
(1 row)

postgres=# show lc_monetary;
 lc_monetary 
-------------
 C
(1 row)

關(guān)于 monetary 级乐,都是有固定格式的。
//重新設(shè)置參數(shù) lc_monetary
postgres=# set lc_monetary='zh_CN';
SET
//將12.345換算成money
postgres=# select '12.345'::money;
  money  
---------
 ¥12.35
(1 row)

postgres=# 
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末县匠,一起剝皮案震驚了整個(gè)濱河市风科,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌乞旦,老刑警劉巖贼穆,帶你破解...
    沈念sama閱讀 219,188評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異兰粉,居然都是意外死亡故痊,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評論 3 395
  • 文/潘曉璐 我一進(jìn)店門玖姑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來愕秫,“玉大人,你說我怎么就攤上這事焰络≡チ欤” “怎么了?”我有些...
    開封第一講書人閱讀 165,562評論 0 356
  • 文/不壞的土叔 我叫張陵舔琅,是天一觀的道長。 經(jīng)常有香客問我洲劣,道長备蚓,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,893評論 1 295
  • 正文 為了忘掉前任囱稽,我火速辦了婚禮郊尝,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘战惊。我一直安慰自己流昏,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著况凉,像睡著了一般谚鄙。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上刁绒,一...
    開封第一講書人閱讀 51,708評論 1 305
  • 那天闷营,我揣著相機(jī)與錄音,去河邊找鬼知市。 笑死傻盟,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的嫂丙。 我是一名探鬼主播娘赴,決...
    沈念sama閱讀 40,430評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼跟啤!你這毒婦竟也來了诽表?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,342評論 0 276
  • 序言:老撾萬榮一對情侶失蹤腥光,失蹤者是張志新(化名)和其女友劉穎关顷,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體武福,經(jīng)...
    沈念sama閱讀 45,801評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡议双,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了捉片。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片平痰。...
    茶點(diǎn)故事閱讀 40,115評論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖伍纫,靈堂內(nèi)的尸體忽然破棺而出宗雇,到底是詐尸還是另有隱情,我是刑警寧澤莹规,帶...
    沈念sama閱讀 35,804評論 5 346
  • 正文 年R本政府宣布赔蒲,位于F島的核電站,受9級特大地震影響良漱,放射性物質(zhì)發(fā)生泄漏舞虱。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評論 3 331
  • 文/蒙蒙 一母市、第九天 我趴在偏房一處隱蔽的房頂上張望矾兜。 院中可真熱鬧,春花似錦患久、人聲如沸椅寺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽返帕。三九已至桐玻,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間溉旋,已是汗流浹背畸冲。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留观腊,地道東北人邑闲。 一個(gè)月前我還...
    沈念sama閱讀 48,365評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像梧油,于是被迫代替她去往敵國和親苫耸。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理儡陨,服務(wù)發(fā)現(xiàn)兢卵,斷路器瑟蜈,智...
    卡卡羅2017閱讀 134,664評論 18 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法逸邦,類相關(guān)的語法旦部,內(nèi)部類的語法,繼承相關(guān)的語法胚股,異常的語法笼痛,線程的語...
    子非魚_t_閱讀 31,641評論 18 399
  • 文章作者:Tyan博客:noahsnail.com 3.4 Dependencies A typical ente...
    SnailTyan閱讀 4,166評論 2 7
  • 說到寫作,平時(shí)點(diǎn)滴的積累是很重要的琅拌,每天在你靈感閃現(xiàn)的時(shí)候缨伊,在生活有所感悟的時(shí)候,在看到優(yōu)美的字句的時(shí)候进宝,記錄下來...
    愛吃愛玩的悠嘻猴閱讀 226評論 1 1
  • 昨天聊了刻坊,我和幾個(gè)朋友相同項(xiàng)目的不同收入。催使我產(chǎn)生做《微排記》的想法党晋。我這個(gè)人是一個(gè)說做就做的人谭胚,今天把我這幾年...
    3羊集團(tuán)閱讀 263評論 0 1