婷婷综合国产,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| 久久综合五月天婷婷伊人| 亚洲女性喷水在线观看一区| 国产精品自拍毛片| 91精品国产色综合久久久蜜香臀| 国产精品福利电影一区二区三区四区| 日本不卡一区二区三区| 欧美亚男人的天堂| 最新热久久免费视频| 成人中文字幕合集| 日韩欧美三级在线| 青青草原综合久久大伊人精品| 91国偷自产一区二区使用方法| 国产欧美日产一区| 国产呦精品一区二区三区网站| 91精品欧美福利在线观看| 亚洲精品视频一区| 91浏览器在线视频| 日韩毛片视频在线看| 成人短视频下载| 国产精品久久久一本精品 | 国产精品网友自拍| 国产综合色视频| 精品国产一区二区三区av性色 | 亚洲免费在线看| 麻豆国产精品777777在线| 欧美日韩视频在线观看一区二区三区 | 精品国产成人在线影院| av激情亚洲男人天堂| 日韩精品久久久久久| 国产三区在线成人av| 欧美日韩一区成人| 本田岬高潮一区二区三区| 日韩一区精品字幕| 亚洲乱码一区二区三区在线观看| 精品成人一区二区| 91成人国产精品| 波多野结衣一区二区三区| 麻豆精品精品国产自在97香蕉| 亚洲欧美日韩电影| 国产日韩欧美制服另类| 91精品国产欧美一区二区18| 色悠久久久久综合欧美99| 麻豆精品国产91久久久久久| 亚洲激情第一区| 国产精品区一区二区三| 26uuu国产在线精品一区二区| 欧美三区在线视频| 91视频.com| 成人午夜又粗又硬又大| 国产在线精品国自产拍免费| 日韩av一区二| 午夜精品久久久久久久久 | 亚洲电影一级黄| 国产精品久久久久久亚洲伦| 精品国产三级电影在线观看| 欧美一区二区久久久| 欧美视频一区二区在线观看| 日本精品免费观看高清观看| 成人a免费在线看| 成人综合激情网| 粉嫩av亚洲一区二区图片| 国产资源在线一区| 黄页视频在线91| 激情小说亚洲一区| 黄网站免费久久| 国产一区二区三区不卡在线观看 | 久久夜色精品一区| 久久久久久**毛片大全| 久久久精品欧美丰满| 久久美女高清视频| 国产亚洲欧美色| 亚洲国产岛国毛片在线| 中文字幕精品一区二区三区精品| 日本一区二区在线不卡| 中文在线资源观看网站视频免费不卡| 国产欧美一区在线| 国产精品狼人久久影院观看方式| 中文字幕亚洲在| 夜夜精品视频一区二区| 午夜av电影一区| 久久国产精品无码网站| 激情另类小说区图片区视频区| 国产另类ts人妖一区二区| 岛国精品一区二区| 色天天综合色天天久久| 欧美日韩亚洲另类| 日韩欧美国产精品| 国产三级精品视频| 亚洲人成7777| 日本美女一区二区三区| 国产精品一区二区你懂的| 91视频在线观看免费| 日本韩国欧美一区| 精品少妇一区二区三区免费观看 | 日韩二区三区四区| 久久爱www久久做| 国产成人精品免费一区二区| 在线一区二区三区四区五区| 欧美一区二区人人喊爽| 欧美激情中文不卡| 亚洲午夜久久久久| 韩日av一区二区| 91麻豆精品在线观看| 91精品国产麻豆| 中文字幕乱码一区二区免费| 亚洲午夜视频在线| 国产在线一区二区综合免费视频| 91亚洲资源网| 日韩欧美亚洲国产精品字幕久久久| 中文字幕国产一区| 日韩国产成人精品| 91丝袜呻吟高潮美腿白嫩在线观看| 制服丝袜中文字幕一区| 亚洲欧洲另类国产综合| 日本91福利区| 91亚洲精华国产精华精华液| 日韩视频在线你懂得| 亚洲欧美一区二区久久| 久久99九九99精品| 欧美日韩一卡二卡三卡| 国产精品色婷婷久久58| 日韩一区欧美二区| 色吊一区二区三区 | 亚洲黄网站在线观看| 国产乱妇无码大片在线观看| 欧美剧情电影在线观看完整版免费励志电影 | 国产成人午夜电影网| 欧美高清www午色夜在线视频| 国产精品大尺度| 国产一区二区三区| 91精品国产色综合久久不卡蜜臀 | 国产不卡一区视频| 日韩欧美精品三级| 亚洲成人精品一区二区| 91尤物视频在线观看| 国产午夜精品一区二区三区视频| 日韩成人精品视频| 欧美视频在线一区二区三区| 亚洲日穴在线视频| 成人午夜精品在线| 久久久久久一级片| 老司机一区二区| 日韩欧美国产精品| 青青国产91久久久久久| 欧美美女一区二区在线观看| 亚洲三级视频在线观看| 99精品视频在线观看| 国产精品免费丝袜| k8久久久一区二区三区| 国产精品久久久久三级| 99re热这里只有精品免费视频| 亚洲国产电影在线观看| 成人免费毛片app| 国产日韩欧美精品一区| 国产精品亚洲第一区在线暖暖韩国 | 亚洲国产日韩综合久久精品| 日本丶国产丶欧美色综合| 亚洲欧美日韩综合aⅴ视频| 91啪亚洲精品| 综合中文字幕亚洲| 色94色欧美sute亚洲线路二| 一区二区三区在线视频免费观看 | 欧美高清激情brazzers| 婷婷成人综合网| 日韩欧美在线影院| 国产呦萝稀缺另类资源| 国产欧美日产一区| 99精品国产99久久久久久白柏| 亚洲丝袜精品丝袜在线| 精品视频全国免费看| 视频一区二区三区中文字幕| 日韩欧美一区二区三区在线| 国产精品一区一区| 国产精品国产三级国产普通话蜜臀 | 久久久精品影视| 99精品久久久久久| 一区二区三区国产豹纹内裤在线| 欧美日韩一区视频| 美女性感视频久久| 国产免费成人在线视频| 色综合天天综合网国产成人综合天| 亚洲一二三四区| 精品久久久久一区二区国产| 国产91精品精华液一区二区三区| 亚洲欧美综合网| 91精品免费观看| 国产成人精品免费看| 亚洲一区免费视频| 精品久久人人做人人爽| 成人av网在线| 日韩在线播放一区二区| 国产欧美一区二区精品久导航| 色先锋资源久久综合| 日本午夜精品视频在线观看| 亚洲国产精品成人综合| 欧美在线观看视频一区二区| 久久99久久久久久久久久久| 亚洲人精品一区|