国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SQL中常見正則表達(dá)式用法

這篇具有很好參考價(jià)值的文章主要介紹了SQL中常見正則表達(dá)式用法。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

在 SQL 中,正則表達(dá)式是一種強(qiáng)大的工具,用于匹配相應(yīng)的字符串模式。SQL 支持的正則表達(dá)式語法因數(shù)據(jù)庫而異,下面是一些常用的正則表達(dá)式元字符:

  • .:匹配任何單個(gè)字符
  • *:匹配任意數(shù)量的前一個(gè)字符
  • +:匹配一個(gè)或多個(gè)前一個(gè)字符
  • ?:匹配零個(gè)或一個(gè)前一個(gè)字符
  • ^:匹配輸入字符串的開始位置
  • $:匹配輸入字符串的結(jié)束位置
  • []:匹配括號(hào)內(nèi)的任意一個(gè)字符
  • ():標(biāo)記一個(gè)子表達(dá)式的開始和結(jié)束位置

在 SQL 中,使用正則表達(dá)式的函數(shù)包括:

  • REGEXP_LIKE:用于測試一個(gè)字符串是否與一個(gè)正則表達(dá)式相匹配
  • REGEXP_SUBSTR:用于在一個(gè)輸入字符串中查找一個(gè)正則表達(dá)式模式,并返回匹配的子字符串
  • REGEXP_REPLACE:用于在一個(gè)輸入字符串中查找一個(gè)正則表達(dá)式模式,并將其替換為一個(gè)指定的字符串

下面是一些使用正則表達(dá)式的例子:

  • 匹配以字母開頭的字符串:SELECT * FROM table WHERE column REGEXP '^[a-zA-Z]'
  • 匹配包含數(shù)字的字符串:SELECT * FROM table WHERE column REGEXP '[0-9]'
  • 匹配以“abc”開頭的字符串:SELECT * FROM table WHERE column REGEXP '^abc'
  • 匹配包含“abc”子串的字符串:SELECT * FROM table WHERE column REGEXP 'abc'
  • 匹配以“abc”結(jié)尾的字符串:SELECT * FROM table WHERE column REGEXP 'abc$'
  • 用“x”替換所有數(shù)字:SELECT REGEXP_REPLACE(column, '[0-9]', 'x') FROM table

當(dāng)然,以下是一個(gè)使用正則表達(dá)式函數(shù)的例子,假設(shè)有一個(gè)表格名為 users,包含以下列:

id name email
1 John Smith john.smith@example.com
2 Jane Doe jane.doe@example.com
3 Bob Johnson bjohnson@example.com
4 Alice Williams awilliams@example

現(xiàn)在我們想要從 name 列中提取每個(gè)產(chǎn)品的品牌名稱,以及從 description 列中刪除所有的尺寸信息(即屏幕大小)。我們可以使用 REGEXP_SUBSTRREGEXP_REPLACE 函數(shù)來實(shí)現(xiàn):

因此,用這個(gè)正則表達(dá)式模式來匹配一個(gè)字符串,它將嘗試從字符串的開頭開始查找一個(gè)或多個(gè)非空格字符,直到遇到一個(gè)空格字符或到達(dá)字符串的結(jié)尾為止。這個(gè)正則表達(dá)式模式可以用于從一個(gè)包含多個(gè)單詞的字符串中提取第一個(gè)單詞,因?yàn)閱卧~通常以一個(gè)或多個(gè)非空格字符開頭。

例如,如果我們有一個(gè)字符串 "apple iphone 12",使用 '^[^ ]+' 正則表達(dá)式模式來匹配它,它將返回 "apple",因?yàn)樗沁@個(gè)字符串的開頭部分,并且以空格字符結(jié)尾。

  • 提取品牌名稱:

    SELECT REGEXP_SUBSTR(name, '^[^ ]+') AS brand FROM products;

    這將輸出以下結(jié)果:

    brand
    Apple
    Samsung
    Google
    OnePlus
  • 刪除尺寸信息:

    SELECT REGEXP_REPLACE(description, '[0-9.]+-inch', '') AS description_without_size FROM products;

    這將輸出以下結(jié)果:

    description_without_size
    The latest iPhone with a screen
    The latest Samsung phone with a screen
    The latest Pixel phone with a screen
    The latest OnePlus phone with a screen
    在這個(gè)例子中,我們使用了 regexp_substr 函數(shù)來從 name 列中提取品牌名稱,并使用了 regexp_replace 函數(shù)來從 description 列中刪除所有的尺寸信息。在這兩個(gè)函數(shù)中,我們使用了正則表達(dá)式模式來匹配相應(yīng)的子字符串。
  • '^[^ ]+' 是一個(gè)正則表達(dá)式模式,用于匹配以一個(gè)或多個(gè)非空格字符開頭的字符串。它由以下幾個(gè)部分組成:文章來源地址http://www.zghlxwxcb.cn/news/detail-610472.html

  • ^:匹配字符串的開頭位置。
  • [^ ]:一個(gè)字符集合,表示除了空格(' ')之外的任何字符。
  • +:匹配前一個(gè)字符的一個(gè)或多個(gè)實(shí)例。

到了這里,關(guān)于SQL中常見正則表達(dá)式用法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • notepad++配合正則表達(dá)式分組模式處理文本轉(zhuǎn)化為sql語句

    notepad++配合正則表達(dá)式分組模式處理文本轉(zhuǎn)化為sql語句

    一、正則分組知識(shí)點(diǎn)補(bǔ)充 正則分組和捕獲 ():用于分組和捕獲子表達(dá)式。 大白話就是()匹配到的數(shù)據(jù),通過美元符號(hào)加下標(biāo)可以獲取該數(shù)據(jù),例如$1、$2, 下標(biāo)從1開始。 下面的案例就采用該模式處理文本數(shù)據(jù) 二、使用正則的需求背景 有一份報(bào)表的數(shù)據(jù),需要把數(shù)據(jù)入庫到m

    2024年02月07日
    瀏覽(26)
  • ABAP SQL & CDSView Entity中使用正則RegEx表達(dá)式(Regular Expressions)

    ABAP SQL & CDSView Entity中使用正則RegEx表達(dá)式(Regular Expressions)

    DEMO_REGEX DEMO_REGEX_TOY SQL函數(shù) 語法 作用 執(zhí)行邏輯 返回類型 CDS???View Entities ABAP???SQL LIKE_REGEXPR LIKE_REGEXPR( ????? ?????PCRE = pcre, ????? ?????VALUE = sql_exp1[, ????? ?????CASE_SENSITIVE = case]) 檢查字符串是否包含任何 PCRE命中 檢查sql_exp是否包含任何???PCRE命中,是則返

    2024年01月24日
    瀏覽(54)
  • 正則表達(dá)式 (用于靈活匹配文本的表達(dá)式)

    目錄 . * 用于匹配任意單個(gè)字符,除了換行符。 例如使用正則表達(dá)式 a.b, 它可以匹配aab、acb、a#b 用于匹配前一個(gè)字符零次或多次。 例如,使用正則表達(dá)式 ab*c ,它可以匹配 \\\"ac\\\"、\\\"abc\\\"、\\\"abbc\\\",因?yàn)?b* 表示匹配零個(gè)或多個(gè)字符 \\\"b\\\"。所以,這個(gè)表達(dá)式可以匹配 \\\"ac\\\"(零個(gè) \\\"b\\\"),

    2024年01月16日
    瀏覽(33)
  • Java 正則表達(dá)式匹配

    正則表達(dá)式: 定義一個(gè)搜索模式的字符串。 正則表達(dá)式可以用于搜索、編輯和操作文本。 正則對(duì)文本的分析或修改過程為:首先正則表達(dá)式應(yīng)用的是文本字符串(text/string),它會(huì)以定義的模式從左到右匹配文本,每個(gè)源字符只匹配一次。 正則表達(dá)式 匹配 this is text 精確匹配

    2024年02月06日
    瀏覽(29)
  • 正則表達(dá)式的神奇世界:表達(dá)、匹配和提取

    正則表達(dá)式,這個(gè)看起來像密林中的迷宮的工具,既神秘又令人著迷。它是編程世界中的一門魔法,有著神奇的能力。你是否曾經(jīng)在尋找或解析文本時(shí)感到束手無策?或許你想要從海量數(shù)據(jù)中提取特定信息?這正是正則表達(dá)式可以派上用場的時(shí)候。本文將帶你探索這個(gè)神奇的

    2024年02月07日
    瀏覽(35)
  • VSCode 正則表達(dá)式 匹配多行

    VSCode 正則表達(dá)式 匹配多行

    VS Code 正則表達(dá)式匹配多行 (.|n)*? 案例1: str(.|n)*?, 案例2: const(.|n)*?}$ 案例3: fn(.|n)*?},

    2024年02月02日
    瀏覽(21)
  • 【動(dòng)態(tài)規(guī)劃】通配符匹配與正則表達(dá)式匹配

    【動(dòng)態(tài)規(guī)劃】通配符匹配與正則表達(dá)式匹配

    題目描述: 給你一個(gè)輸入字符串 (s) 和一個(gè)字符模式 § ,請(qǐng)你實(shí)現(xiàn)一個(gè)支持 ‘?’ 和 ‘*’ 匹配規(guī)則的通配符匹配: ‘?’ 可以匹配任何單個(gè)字符。 ‘*’ 可以匹配任意字符序列(包括空字符序列)。 判定匹配成功的充要條件是:字符模式必須能夠 完全匹配 輸入字符串(而

    2024年02月07日
    瀏覽(36)
  • 詳解正則表達(dá)式匹配方法 match()

    詳解正則表達(dá)式匹配方法 match()

    在前端開發(fā)中,正則表達(dá)式是一大利器。所以我們這次就來討論下match()方法。 match本身是JavaScript語言中字符串對(duì)象的一個(gè)方法,該方法的簽名是 match([string] | [RegExp]) 它的參數(shù)既可以是一個(gè)字符串,也可以是一個(gè)正則表達(dá)式。該方法絕大多數(shù)都是要使用正則表達(dá)式的,所以參

    2024年02月11日
    瀏覽(19)
  • 正則表達(dá)式的匹配(py編程)

    1. 匹配單個(gè)字符 在上一小節(jié)中,了解到通過re模塊能夠完成使用正則表達(dá)式來匹配字符串 本小節(jié),將要講解正則表達(dá)式的單字符匹配 代碼 功能 . 匹配任意1個(gè)字符(除了n) [ ] 匹配[ ]中列舉的字符 d 匹配數(shù)字,即0-9 D 匹配非數(shù)字,即不是數(shù)字 s 匹配空白,即 空格,tab鍵

    2024年02月02日
    瀏覽(23)
  • 劍指 Offer 19. 正則表達(dá)式匹配

    劍指 Offer 19. 正則表達(dá)式匹配 初始化要考慮主串為空字符串,模式串為 a*b*c* 的形式。 一般情況時(shí),根據(jù)模式串是 普通字符 、 \\\'.\\\' 、 \\\'*\\\' 分情況考慮。為 \\\'*\\\' 時(shí),考慮 匹配0次 和 匹配多次 的情況,匹配多次時(shí)要注意判斷前提是能匹配。

    2024年02月09日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包