下載吧 - 綠色安全的游戲和軟件下載中心

          軟件下載吧

          當前位置:軟件下載吧 > 技術開發 > 數據庫 > PostgreSQL教程(五):函數和操作符詳解(1)

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

          時間:2024-02-09 10:40作者:下載吧人氣:33

          一、邏輯操作符:

              常用的邏輯操作符有: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)
          標簽[db:關鍵字]

          相關下載

          查看所有評論+

          網友評論

          網友
          您的評論需要經過審核才能顯示

          熱門閱覽

          最新排行

          公眾號

          主站蜘蛛池模板: 久久久久人妻精品一区三寸| 亚洲国产老鸭窝一区二区三区| 亚洲AV无码一区二区三区久久精品| 亚洲视频一区网站| 人妻av综合天堂一区| 亚洲人成网站18禁止一区 | 3D动漫精品一区二区三区| 国产精品一区二区AV麻豆| 性盈盈影院免费视频观看在线一区| 久久精品人妻一区二区三区 | 亚洲A∨无码一区二区三区| 日韩一区二区a片免费观看| 一区二区免费视频| 国产伦一区二区三区高清| 国产精品一区12p| 日本精品视频一区二区三区 | 在线播放国产一区二区三区 | 怡红院美国分院一区二区| 国产福利一区二区三区在线观看| 红桃AV一区二区三区在线无码AV| 福利一区二区在线| 国产亚洲情侣一区二区无| 波多野结衣一区二区三区aV高清| 一区二区国产在线观看| 中文字幕人妻丝袜乱一区三区| av无码人妻一区二区三区牛牛| 国产在线一区二区三区| 亚洲福利视频一区二区三区| 狠狠色综合一区二区| 一区三区三区不卡| 久久久久人妻精品一区蜜桃| 亚洲日本一区二区三区| 精品女同一区二区三区免费站 | 国产一区在线视频观看| 亚洲乱码一区二区三区在线观看 | 色妞AV永久一区二区国产AV| 日韩人妻无码一区二区三区99| 亚洲性无码一区二区三区| 精品无码人妻一区二区三区不卡| 亚洲国产福利精品一区二区 | 国产一区二区精品久久岳|