国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

香港云服务器
服務器之家 - 數據庫 - PostgreSQL - PostgreSQL教程(五):函數和操作符詳解(1)

PostgreSQL教程(五):函數和操作符詳解(1)

2020-04-27 16:07PostgreSQL教程網 PostgreSQL

這篇文章主要介紹了PostgreSQL教程(五):函數和操作符詳解(1),本文講解了邏輯操作符、比較操作符、數學函數和操作符、三角函數列表、字符串函數和操作符等內容,需要的朋友可以參考下

一、邏輯操作符:

    常用的邏輯操作符有:AND、OR和NOT。其語義與其它編程語言中的邏輯操作符完全相同。

二、比較操作符:

    下面是PostgreSQL中提供的比較操作符列表:

PostgreSQL教程(五):函數和操作符詳解(1)

比較操作符可以用于所有可以比較的數據類型。所有比較操作符都是雙目操作符,且返回boolean類型。除了比較操作符以外,我們還可以使用BETWEEN語句,如:
    a BETWEEN x AND y 等效于 a >= x AND a <= y   
    a NOT BETWEEN x AND y 等效于 a < x OR a > y

三、 數學函數和操作符:

    下面是PostgreSQL中提供的數學操作符列表:

PostgreSQL教程(五):函數和操作符詳解(1)

按位操作符只能用于整數類型,而其它的操作符可以用于全部數值數據類型。按位操作符還可以用于位串類型bit和bit varying,

    下面是PostgreSQL中提供的數學函數列表,需要說明的是,這些函數中有許多都存在多種形式,區別只是參數類型不同。除非特別指明,任何特定形式的函數都返回和它的參數相同的數據類型。

PostgreSQL教程(五):函數和操作符詳解(1)

三角函數列表:

PostgreSQL教程(五):函數和操作符詳解(1)

四、字符串函數和操作符:

    下面是PostgreSQL中提供的字符串操作符列表:

 

函數

返回類型

描述

例子

結果

string || string

text

字串連接

'Post' || 'greSQL'

PostgreSQL

bit_length(string)

int

字串里二進制位的個數

bit_length('jose')

32

char_length(string)

int

字串中的字符個數

char_length('jose')

4

convert(string using conversion_name)

text

使用指定的轉換名字改變編碼。

convert('PostgreSQL' using iso_8859_1_to_utf8)

'PostgreSQL'

lower(string)

text

把字串轉化為小寫

lower('TOM')

tom

octet_length(string)

int

字串中的字節數

octet_length('jose')

4

overlay(string placing string from int [for int])

text

替換子字串

overlay('Txxxxas' placing 'hom' from 2 for 4)

Thomas

position(substring in string)

int

指定的子字串的位置

position('om' in 'Thomas')

3

substring(string [from int] [for int])

text

抽取子字串

substring('Thomas' from 2 for 3)

hom

substring(string from pattern)

text

抽取匹配 POSIX 正則表達式的子字串

substring('Thomas' from '...$')

mas

substring(string from pattern for escape)

text

抽取匹配SQL正則表達式的子字串

substring('Thomas' from '%#"o_a#"_' for '#')

oma

trim([leading | trailing | both] [characters] from string)

text

從字串string的開頭/結尾/兩邊/ 刪除只包含characters(缺省是一個空白)的最長的字串

trim(both 'x' from 'xTomxx')

Tom

upper(string)

text

把字串轉化為大寫。

upper('tom')

TOM

ascii(text)

int

參數第一個字符的ASCII碼

ascii('x')

120

btrim(string text [, characters text])

text

從string開頭和結尾刪除只包含在characters里(缺省是空白)的字符的最長字串

btrim('xyxtrimyyx','xy')

trim

chr(int)

text

給出ASCII碼的字符

chr(65)

A

convert(string text, [src_encoding name,] dest_encoding name)

text

把字串轉換為dest_encoding

convert( 'text_in_utf8', 'UTF8', 'LATIN1')

以ISO 8859-1編碼表示的text_in_utf8

initcap(text)

text

把每個單詞的第一個子母轉為大寫,其它的保留小寫。單詞是一系列字母數字組成的字符,用非字母數字分隔。

initcap('hi thomas')

Hi Thomas

length(string text)

int

string中字符的數目

length('jose')

4

lpad(string text, length int [, fill text])

text

通過填充字符fill(缺省時為空白),把string填充為長度length。 如果string已經比length長則將其截斷(在右邊)。

lpad('hi', 5, 'xy')

xyxhi

ltrim(string text [, characters text])

text

從字串string的開頭刪除只包含characters(缺省是一個空白)的最長的字串。

ltrim('zzzytrim','xyz')

trim

md5(string text)

text

計算給出string的MD5散列,以十六進制返回結果。

md5('abc')

 

repeat(string text, number int)

text

重復string number次。

repeat('Pg', 4)

PgPgPgPg

replace(string text, from text, to text)

text

把字串string里出現地所有子字串from替換成子字串to。

replace('abcdefabcdef', 'cd', 'XX')

abXXefabXXef

rpad(string text, length int [, fill text])

text

通過填充字符fill(缺省時為空白),把string填充為長度length。如果string已經比length長則將其截斷。

rpad('hi', 5, 'xy')

hixyx

rtrim(string text [, character text])

text

從字串string的結尾刪除只包含character(缺省是個空白)的最長的字

rtrim('trimxxxx','x')

trim

split_part(string text, delimiter text, field int)

text

根據delimiter分隔string返回生成的第field個子字串(1 Base)。

split_part('abc~@~def~@~ghi', '~@~', 2)

def

strpos(string, substring)

text

聲明的子字串的位置。

strpos('high','ig')

2

substr(string, from [, count])

text

抽取子字串。

substr('alphabet', 3, 2)

ph

to_ascii(text [, encoding])

text

把text從其它編碼轉換為ASCII。

to_ascii('Karel')

Karel

to_hex(number int/bigint)

text

把number轉換成其對應地十六進制表現形式。

to_hex(9223372036854775807)

7fffffffffffffff

translate(string text, from text, to text)

text

把在string中包含的任何匹配from中的字符的字符轉化為對應的在to中的字符。

translate('12345', '14', 'ax')

a23x5

 

 

五、位串函數和操作符:

    對于類型bit和bit varying,除了常用的比較操作符之外,還可以使用以下列表中由PostgreSQL提供的位串函數和操作符,其中&、|和#的位串操作數必須等長。在移位的時候,保留原始的位串的的長度。

PostgreSQL教程(五):函數和操作符詳解(1)

除了以上列表中提及的操作符之外,位串還可以使用字符串函數:length, bit_length, octet_length, position, substring。此外,我們還可以在整數和bit之間來回轉換,如:

復制代碼 代碼如下:

    MyTest=# SELECT 44::bit(10);
        bit
    ------------
     0000101100
    (1 row)
    MyTest=# SELECT 44::bit(3);
     bit
    -----
     100
    (1 row)
    MyTest=# SELECT cast(-44 as bit(12));
         bit
    --------------
     111111010100
    (1 row)
    MyTest=# SELECT '1110'::bit(4)::integer;
     int4
    ------
       14
    (1 row)


    注意:如果只是轉換為"bit",意思是轉換成bit(1),因此只會轉換成整數的最低位。

 

    該博客中提供的所有信息均源自PostgreSQL官方文檔,編寫該篇博客的主要目的是便于今后的查閱,特此聲明。

延伸 · 閱讀

精彩推薦
391
主站蜘蛛池模板: 91精品综合久久久久久五月天 | 国产精品自产拍在线观看 | 在线看黄网站 | 欧美一级高清在线 | 黑人中文字幕一区二区三区 | 国产精品久久久久久久久久免费看 | 久久五月视频 | 理论电影在线 | 99青草| 极品国产精品 | 中文字幕一区二区三区在线视频 | 亚洲人成在线播放 | 一本一道久久精品综合 | 最近2019中文字幕大全视频10 | 久久精品99国产精品日本 | 国产一区二区免费 | 亚洲播放| 大片免费播放在线观看视频 | www久草| 精品96久久久久久中文字幕无 | 国产精品资源在线观看 | 成人日韩在线观看 | 久久中文字幕在线观看 | 欧美人成在线 | 亚洲性网 | 超级碰在线| 青春草国产免费福利视频一区 | 中文一区| 亚洲在线视频 | 色欧美日韩 | 在线精品一区 | 亚洲欧美一区二区三区情侣bbw | 免费在线a| 亚洲不卡| 精品久久久久久久久久久久久久 | 久久男人网| 免费羞羞视频网站 | 日本三级不卡 | 精品少妇一区二区三区日产乱码 | 日本精品视频 | 欧美激情久久久 |