亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

PostgreSQL字符切割:substring函數(shù)的用法說(shuō)明

 更新時(shí)間:2021年02月01日 10:52:33   作者:江樓月美人  
這篇文章主要介紹了PostgreSQL字符切割:substring函數(shù)的用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

作為當(dāng)前最強(qiáng)大的開(kāi)源數(shù)據(jù)庫(kù),Postgresql(以下簡(jiǎn)稱pg)對(duì)字符的處理也是最為強(qiáng)大的,首先他也有substr,trim等其他數(shù)據(jù)庫(kù)都有的普通函數(shù),這里我們介紹他更強(qiáng)大的一個(gè)函數(shù)substring,可以像python,java等編程語(yǔ)言一樣使用正則表達(dá)式,強(qiáng)大到極點(diǎn)

在此之前我們先了解一下正則表達(dá)式最基礎(chǔ)的四個(gè)

%代表一個(gè)或多個(gè)字符 _代表一個(gè)字符 ^代表字符前 $代表字符后

pg的官網(wǎng)上對(duì)其用法是下面這樣,但不夠清楚了然,下面我一一解釋

第一個(gè)

用法和substr差不多,是指定序列,from 2 for 3 是從序列為2的位置開(kāi)始取3個(gè)字符。例子如上

第二個(gè)

例子用法的意思是:$代表字符后, 一個(gè)點(diǎn)代表一個(gè)字符,即從最末尾開(kāi)始選擇3個(gè)字符,同樣的如果是substring('Thomas' from '^....') 則結(jié)果是Thom

第三個(gè)

用法是最實(shí)用的,也是最難理解的,先大致理解:

from '%#"o_a#"_' for '#' 中from是開(kāi)始(包含),for后面跟的是逃逸,即結(jié)束

這個(gè)例子的意思是我想要o_a的組合字符,其中o_a的多個(gè)(%)字符不要,后面的一個(gè)(_)字符不要,這里要注意的是切分后面剩多少字符寫幾個(gè)_

這里的架構(gòu)可以理解為固定的,即 from '#"#"' for '#' #" 是分割字符,可以在#"前中后限定選擇你最想要的字符

下面用實(shí)例來(lái)講解一下第三個(gè)用法

需求:下圖的查詢結(jié)果是查的日志表,我想要【】里的數(shù)據(jù),由于【】里字符長(zhǎng)度不固定,又只能用sql來(lái)切割,因此只能使用第三種方法來(lái)獲取【】里的數(shù)據(jù)

解決1:

根據(jù)上面的思想,我可以寫這樣的架構(gòu)'【#"%#"_______' FOR '#',試著運(yùn)行一下

SELECT
 SUBSTRING (
 log_txt
 FROM
  '【#"%#"_______' FOR '#'
 ) log_txt
FROM
 operation_log
WHERE
 log_type = '15'
LIMIT 3

解決2:

也可以根據(jù)position這個(gè)函數(shù)來(lái)解決,這個(gè)函數(shù)類似于python的index,就是把字符串的某個(gè)字符轉(zhuǎn)變?yōu)樵撟址诘奈恢脭?shù),如此一來(lái)便可以使用substring的第一個(gè)例子用法,即

SUBSTRING ( log_txt FROM 2 FOR position('【'))

ooook 搞定了!??!

補(bǔ)充:Postgresql之split_part()切割函數(shù)

如下所示:

split_part(string text, delimiter text2, field int)

text要切割的字段; text2按照什么形式切割 int截取的位置

ps:

text=“name.cn” split_part(text,'.',1) 結(jié)果: name
text=“name.cn” split_part(text,'.',2) 結(jié)果: cn
text=“name.cn.com” split_part(text,'.',3) 結(jié)果: com

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • PostgreSQL 如何獲取當(dāng)前日期時(shí)間及注意事項(xiàng)

    PostgreSQL 如何獲取當(dāng)前日期時(shí)間及注意事項(xiàng)

    這篇文章主要介紹了PostgreSQL 如何獲取當(dāng)前日期時(shí)間及注意事項(xiàng),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • CentOS PostgreSQL 12 主從復(fù)制(主從切換)操作

    CentOS PostgreSQL 12 主從復(fù)制(主從切換)操作

    這篇文章主要介紹了CentOS PostgreSQL 12 主從復(fù)制(主從切換)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • PostgreSQL如何按照某一字段去重,并顯示其他字段信息

    PostgreSQL如何按照某一字段去重,并顯示其他字段信息

    這篇文章主要介紹了PostgreSQL如何按照某一字段去重,并顯示其他字段信息問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • PostgreSQL中查看當(dāng)前時(shí)間和日期的幾種常用方法

    PostgreSQL中查看當(dāng)前時(shí)間和日期的幾種常用方法

    在 PostgreSQL 中,有多個(gè)函數(shù)可以用來(lái)查看當(dāng)前時(shí)間和日期,這些函數(shù)在處理時(shí)間戳、日期和時(shí)間的計(jì)算時(shí)非常有用,以下是幾種常用的查看當(dāng)前時(shí)間和日期的函數(shù)及示例,需要的朋友可以參考下
    2024-10-10
  • postgresql 刪除重復(fù)數(shù)據(jù)案例詳解

    postgresql 刪除重復(fù)數(shù)據(jù)案例詳解

    這篇文章主要介紹了postgresql 刪除重復(fù)數(shù)據(jù)案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 使用postgresql獲取當(dāng)前或某一時(shí)間段的年月日

    使用postgresql獲取當(dāng)前或某一時(shí)間段的年月日

    這篇文章主要給大家介紹了關(guān)于使用postgresql獲取當(dāng)前或某一時(shí)間段的年月日的相關(guān)資料,在PostgreSQL中可以使用函數(shù) NOW() 來(lái)查詢當(dāng)前時(shí)間,文中通過(guò)代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07
  • Postgres bytea類型 轉(zhuǎn)換及查看操作

    Postgres bytea類型 轉(zhuǎn)換及查看操作

    這篇文章主要介紹了Postgres bytea類型 轉(zhuǎn)換及查看操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-12-12
  • postgresql13主從搭建Ubuntu

    postgresql13主從搭建Ubuntu

    這篇文章主要為大家介紹了postgresql13主從搭建Ubuntu實(shí)現(xiàn)過(guò)程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • 在postgresql中運(yùn)行sql文件并導(dǎo)出結(jié)果的操作

    在postgresql中運(yùn)行sql文件并導(dǎo)出結(jié)果的操作

    這篇文章主要介紹了在postgresql中運(yùn)行sql文件并導(dǎo)出結(jié)果的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • PostgreSQL存儲(chǔ)過(guò)程用法實(shí)戰(zhàn)詳解

    PostgreSQL存儲(chǔ)過(guò)程用法實(shí)戰(zhàn)詳解

    這篇文章主要介紹了PostgreSQL存儲(chǔ)過(guò)程用法,結(jié)合具體實(shí)例詳細(xì)分析了PostgreSQL數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程的定義、使用方法及相關(guān)操作注意事項(xiàng),并附帶一個(gè)完整實(shí)例供大家參考,需要的朋友可以參考下
    2018-08-08

最新評(píng)論