婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 介紹PostgreSQL中的范圍類型特性

介紹PostgreSQL中的范圍類型特性

熱門標簽:怎么去開發一個電銷機器人 簡單的智能語音電銷機器人 湖南保險智能外呼系統產品介紹 泗洪正規電話機器人找哪家 南昌呼叫中心外呼系統哪家好 ai電話電話機器人 怎么申請400熱線電話 河北便宜電銷機器人軟件 小程序智能電話機器人

 PostgreSQL 9.2 的一項新特性就是范圍類型 range types,通過這個名字你可以輕松猜出該類型的用途,它可讓你為某列數據定義數值范圍。

這個簡單的特性可以讓我們不需要定義兩個字段來描述數值的開始值和結束值,一個最直觀的例子就是:
 

postgres# CREATE TABLE salary_grid (id int, position_name text, start_salary int, end_salary int);
CREATE TABLE
postgres# INSERT INTO salary_grid VALUES (1, 'junior developper', 20000, 30000);
INSERT 0 1
postgres# INSERT INTO salary_grid VALUES (2, 'senior developper', 28000, 35000);
INSERT 0 1
postgres# INSERT INTO salary_grid VALUES (3, 'postgres developper', 50000, 70000);
INSERT 0 1

這個簡單的關系用于存儲一個給定的職位和待遇的范圍(你還需要確定工資的貨幣單位),重要的是你必須實現一些系統函數或者外部程序 API 來執行例如范圍的交叉或者聯合。


Postgres 9.2 允許你的應用直接在數據庫端實現范圍值,范圍類型包括:

  •     4 位整數范圍, int4range
  •     8 位整數范圍, int8range
  •     數值范圍, numrange
  •     無時區的時間戳范圍, tsrange
  •     帶時間戳的時間范圍, tstzrange
  •     日期范圍, daterange

你也可以定義自己的范圍類型,Postgre 官網文檔給出了 float 的示例:
 

postgres# CREATE TYPE floatrange AS RANGE (
postgres# subtype = float8,
postgres# subtype_diff = float8mi);

有了這樣一個功能,我們前面提到的工資表格例子就可以改為:
 

postgres=# create table salary_grid (id int, position_name text, salary_range int4range);
CREATE TABLE
postgres=# INSERT INTO salary_grid VALUES (1, 'junior developper', '[20000, 30000]');
INSERT 0 1
postgres=# INSERT INTO salary_grid VALUES (2, 'senior developper', '[28000, 35000]');
INSERT 0 1
postgres=# INSERT INTO salary_grid VALUES (3, 'postgres developper', '[50000, 70000]');
INSERT 0 1
postgres=# select * from salary_grid;
id | position_name | salary_range
----+---------------------+---------------
1 | junior developper | [20000,30001)
2 | senior developper | [28000,35001)
3 | postgres developper | [50000,70001)
(3 rows)

很重要的一點是,如果使用的是括號(),元組數據的上界是排除在外的,而中括號[]則上界包含其中。

數據庫本身也包含不同的用于處理范圍類型的函數。

你可直接獲取一個給定范圍的最低和最高值:
 

postgres=# SELECT upper(salary_range), lower(salary_range) FROM salary_grid;
upper | lower
-------+-------
30001 | 20000
35001 | 28000
70001 | 50000
(3 rows)

你可以檢查某個值是否包含在給定范圍內:
 

postgres=# SELECT salary_range @> 4000 as check
postgres=# FROM salary_grid
postgres=# WHERE position_name = 'junior developper';
check
-------
f
(1 row)

這里顯示 4000 并不包含在初級職位的待遇里 [20000,30000].


這里稍微復雜了一些,你還可以檢查兩個范圍之間的重疊的部分,這里的 salary_range 使用的是 int4,因此 int4range 函數可用于此操作:
 

postgres=# WITH junior_salary AS (
 SELECT salary_range as junior
 FROM salary_grid
 WHERE position_name = 'junior developper'),
senior_salary AS (
 SELECT salary_range as senior
 FROM salary_grid
 WHERE position_name = 'senior developper')
SELECT int4range(junior)  int4range(senior) as check
 FROM junior_salary, senior_salary;
check
-------
t
(1 row)

這里顯示的是初級和高級職位之間的工資重疊部分。

你還可以設定無上下限的范圍類型,或者是只有上限或者下限的范圍類型,讓我們來看一個非常現實的例子:
 

postgres# UPDATE salary_grid SET salary_range = '[50000,)' WHERE position_name = 'postgres developper';
UPDATE 0 1
postgres=# SELECT salary_range @> 60000000 as check
postgres-# FROM salary_grid WHERE position_name = 'postgres developper';
check
-------
t
(1 row)

你可以使用 lower_inf 或者 upper_inf 來檢查范圍的無限值。

Postgres 還有其他一些內嵌的函數(如 isempty),這個可以直接從官方文檔中獲取詳細信息。

你還可以閱讀《PostgreSQL 的數組》

您可能感興趣的文章:
  • 詳細講解PostgreSQL中的全文搜索的用法
  • 使用Bucardo5實現PostgreSQL的主數據庫復制
  • 在PostgreSQL的基礎上創建一個MongoDB的副本的教程
  • 在PostgreSQL中使用數組時值得注意的一些地方
  • 使用Ruby on Rails和PostgreSQL自動生成UUID的教程
  • 在PostgreSQL中使用日期類型時一些需要注意的地方
  • 一個提升PostgreSQL性能的小技巧
  • 在PostgreSQL中實現遞歸查詢的教程
  • 在PostgreSQL上安裝并使用擴展模塊的教程
  • 深入解讀PostgreSQL中的序列及其相關函數的用法

標簽:荊門 威海 景德鎮 那曲 江蘇 淮安 柳州 瀘州

巨人網絡通訊聲明:本文標題《介紹PostgreSQL中的范圍類型特性》,本文關鍵詞  介紹,PostgreSQL,中的,范圍,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《介紹PostgreSQL中的范圍類型特性》相關的同類信息!
  • 本頁收集關于介紹PostgreSQL中的范圍類型特性的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日韩一级黄色片| 国产精品自拍av| 国产精品蜜臀av| 黄色资源网久久资源365| 亚洲妇女屁股眼交7| 国产成人在线视频免费播放| 欧美日韩一二三| 亚洲一级片在线观看| 91蝌蚪porny九色| 精品国产污网站| 国产麻豆成人传媒免费观看| 国产欧美综合在线观看第十页| 成人免费一区二区三区在线观看| 日韩高清不卡一区二区三区| 一本大道久久a久久精品综合| 亚洲欧洲一区二区在线播放| 成人黄色a**站在线观看| 国产亲近乱来精品视频| 精品一区二区在线观看| 久久蜜桃av一区二区天堂| 高清免费成人av| 一区二区高清免费观看影视大全| 99视频一区二区| 亚洲天堂成人网| 欧美亚洲自拍偷拍| 看电视剧不卡顿的网站| 亚洲日本欧美天堂| 欧美日韩国产中文| 韩国一区二区视频| 日本一区二区三区四区在线视频| 成人精品一区二区三区中文字幕| 亚洲与欧洲av电影| 91精品国产色综合久久不卡电影| 国产福利精品一区二区| 亚洲图片有声小说| 精品国产网站在线观看| 色综合久久久久久久久| 精品亚洲成av人在线观看| 亚洲综合视频网| 欧美一区中文字幕| 欧美在线播放高清精品| 色老综合老女人久久久| 日本欧美肥老太交大片| 中文字幕欧美激情| 欧洲国内综合视频| 国产高清精品在线| 一区二区三区在线观看动漫| 欧美肥妇毛茸茸| 久久中文娱乐网| 欧美日韩日日骚| 国产另类ts人妖一区二区| 天天综合色天天| 亚洲美女免费在线| www欧美成人18+| 欧美日韩在线观看一区二区| 91日韩在线专区| 国产剧情一区二区| 亚洲一二三级电影| 亚洲激情欧美激情| 日韩一区欧美小说| 久久新电视剧免费观看| 欧美性做爰猛烈叫床潮| 国产在线视频不卡二| 亚洲成人在线网站| 国产精品不卡一区| 国产精品无码永久免费888| 欧美一区二区精品| 久久毛片高清国产| 91精品国产综合久久福利| 亚洲美女少妇撒尿| 久久嫩草精品久久久精品| 欧美日韩一区二区电影| av亚洲精华国产精华精华| 久久精品国产精品青草| 亚洲一区二区在线免费观看视频| 日本一区二区免费在线| 日韩一区二区三区免费观看| 日韩欧美的一区| 免费人成网站在线观看欧美高清| 亚洲高清视频的网址| 中文字幕亚洲精品在线观看| 亚洲精品福利视频网站| 亚洲激情自拍偷拍| 欧美肥大bbwbbw高潮| 欧美精品三级在线观看| 欧美调教femdomvk| 欧美日本一区二区三区四区| 欧美大片日本大片免费观看| 久久综合999| 中文乱码免费一区二区| 国产精品免费丝袜| 久久综合色鬼综合色| 久久综合丝袜日本网| 亚洲视频每日更新| 精久久久久久久久久久| 国产在线精品免费| 国产成人激情av| 欧美日韩免费电影| 国产精品美女久久久久aⅴ国产馆| 精品福利在线导航| 91免费版在线| www欧美成人18+| 亚洲精品免费看| 天天综合天天综合色| 国产河南妇女毛片精品久久久 | 欧美最新大片在线看| 91亚洲永久精品| 91精品国产综合久久香蕉麻豆| www久久精品| 久久九九99视频| 亚洲人吸女人奶水| 精品一区二区三区免费观看| proumb性欧美在线观看| 欧美一区二区三区免费| 亚洲精品免费视频| 国产成人在线视频网址| 一本到不卡精品视频在线观看| 日韩视频在线观看一区二区| 成人欧美一区二区三区视频网页| 日韩电影免费在线观看网站| 成人午夜在线免费| 在线播放一区二区三区| 免费成人美女在线观看.| 国产精品一二三四| 欧美男男青年gay1069videost | 亚洲国产欧美在线人成| 本田岬高潮一区二区三区| 日韩一级欧美一级| 日韩av中文在线观看| 国产大陆a不卡| 日韩视频免费观看高清在线视频| 综合色天天鬼久久鬼色| 国产成人一级电影| 久久综合久色欧美综合狠狠| 激情综合网av| 在线播放日韩导航| 天天色 色综合| 在线免费不卡电影| 亚洲免费av网站| eeuss鲁片一区二区三区| 中文字幕国产精品一区二区| 久久99九九99精品| 欧美成人福利视频| 狠狠色丁香九九婷婷综合五月| 日韩欧美亚洲一区二区| 日韩电影在线一区二区三区| 日韩一区二区视频| 琪琪久久久久日韩精品| 日韩三级中文字幕| 久久99国产精品久久99果冻传媒| 精品国产免费久久| 国产大陆亚洲精品国产| 国产精品久久久久久妇女6080| 国产美女视频一区| 久久伊人中文字幕| 国产一区二区福利视频| 久久久久国色av免费看影院| 老司机精品视频导航| 欧美激情中文不卡| 不卡视频免费播放| 亚洲高清在线精品| 精品国产在天天线2019| 成人精品国产福利| 樱花影视一区二区| 欧美一级欧美三级在线观看 | 成人深夜在线观看| 国产亚洲精品精华液| 亚洲小说欧美激情另类| 成人动漫在线一区| 综合电影一区二区三区| 国产一区二区不卡在线| 久久女同互慰一区二区三区| 国产一区二区三区在线观看精品| 欧美精品一区二区三区在线播放| 成人美女在线观看| 亚洲一区二三区| 日韩美女一区二区三区| 色欧美片视频在线观看| 亚洲va欧美va天堂v国产综合| 精品少妇一区二区三区免费观看| 成人精品鲁一区一区二区| 18成人在线视频| 欧美v国产在线一区二区三区| 色素色在线综合| 成人一级黄色片| 久久精品国产成人一区二区三区| 亚洲三级在线免费观看| 精品美女一区二区| 欧美精品在线一区二区三区| 国产成人综合亚洲91猫咪| 三级影片在线观看欧美日韩一区二区| 久久久久久久久久看片| 欧美午夜精品免费| 大胆亚洲人体视频| 日本sm残虐另类| 一区二区三区在线播放| 亚洲午夜电影在线| 日韩久久一区二区| 国产婷婷色一区二区三区四区| 欧美亚洲动漫另类|