亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

SQL點(diǎn)滴33—SQL中的字符串操作

系統(tǒng) 1967 0
原文: SQL點(diǎn)滴33—SQL中的字符串操作

計(jì)算字符串長度
len()用來計(jì)算字符串的長度

      
        select
      
       sname ,
      
        len
      
      (sname) 
      
        from
      
       student
    

字符串轉(zhuǎn)換為大、小寫
lower() 用來將一個(gè)字符串轉(zhuǎn)換為小寫,upper() 用來將一個(gè)字符串轉(zhuǎn)換為大寫

      
        select
      
      
        lower
      
      (
      
        '
      
      
        I AM A STUDENT !
      
      
        '
      
      
        )


      
      
        select
      
      
        upper
      
      (
      
        '
      
      
        i am a student !
      
      
        '
      
      )
    

截去字符串左、右側(cè)空格???????????????????????????????????????????? ?
ltrim() 用來將一個(gè)字符串左側(cè)的空格去掉 ,rtrim()用來將一個(gè)字符串右側(cè)的空格去掉

      
        declare
      
      
        @str
      
      
        varchar
      
      (
      
        100
      
      
        )


      
      
        set
      
      
        @str
      
      
        =
      
      
        '
      
      
         我的左側(cè)有空格!
      
      
        '
      
      
        select
      
      
        @str
      
      
        as
      
       初始字符, 
      
        len
      
      (
      
        @str
      
      ) 
      
        as
      
       初始長度,
      
        ltrim
      
      (
      
        @str
      
      ) 
      
        as
      
       現(xiàn)有字符,
      
        len
      
      (
      
        ltrim
      
      (
      
        @str
      
      )) 
      
        as
      
       現(xiàn)有長度
    

返回由重復(fù)的空格組成的字符串

      
        space
      
      
        (integer_expression)    integer_expression 指示空格個(gè)數(shù)的正整數(shù)。如果 integer_expression 為負(fù),則返回空字符串。


      
      
        select
      
      
        '
      
      
        A
      
      
        '
      
      
        +
      
      
        space
      
      (
      
        2
      
      )
      
        +
      
      
        '
      
      
        B
      
      
        '
      
    

取子字符串

      
        substring
      
      
        (string,start_position,length) 可以從任意位置取任意長度的子字符串,


      
      
        left
      
      
        (string,length)  從左側(cè)開始取子字符串


      
      
        right
      
      
        (string,length)從右側(cè)開始取子字符串


      
      
        select
      
      
        substring
      
      (
      
        '
      
      
        HelloWorld!
      
      
        '
      
      ,
      
        6
      
      ,
      
        6
      
      
        )


      
      
        select
      
      
        left
      
      (
      
        '
      
      
        HelloWorld!
      
      
        '
      
       ,
      
        5
      
      
        )


      
      
        select
      
      
        right
      
      (
      
        '
      
      
        HelloWorld!
      
      
        '
      
       ,
      
        6
      
      )
    

字符串替換

      
        replace
      
      
        (string,要被替換的字符串,替換的字符串)


      
      
        select
      
      
        replace
      
      (
      
        '
      
      
        HelloWorld!
      
      
        '
      
      ,
      
        '
      
      
        o
      
      
        '
      
      ,
      
        '
      
      
        e
      
      
        '
      
      ) 結(jié)果為:HelleWerld!
    

返回字符串值的逆向值

      
        reverse
      
      
        (string_expression)


      
      
        select
      
      
        reverse
      
      (
      
        '
      
      
        abc
      
      
        '
      
      ) 結(jié)果為:cba
    

刪除指定長度的字符,并在指定的起點(diǎn)處插入另一組字符

      
        stuff
      
      
        (character_expression , start , length ,character_expression)

start 一個(gè)整數(shù)值,指定刪除和插入的開始位置。

length 一個(gè)整數(shù),指定要?jiǎng)h除的字符數(shù)。


      
      
        select
      
      
        stuff
      
      (
      
        '
      
      
        abcdefg
      
      
        '
      
      ,
      
        1
      
      ,
      
        6
      
      ,
      
        '
      
      
        Hello 
      
      
        '
      
      ) 結(jié)果為:Hello g
    

以指定的次數(shù)重復(fù)字符串值

      
        replicate
      
      
        (string_expression ,integer_expression)


      
      
        select
      
      
        replicate
      
      (
      
        '
      
      
        abc
      
      
        '
      
      ,
      
        4
      
      ) 結(jié)果為:abcabcabcabc
    

返回字符串中指定表達(dá)式的開始位置

      
        charindex
      
      
        (expression1 ,expression2  , start_location )或charindex(expression1 ,expression2 )

expression1在expression2 中的開始位置


      
      
        select
      
      
        charindex
      
      (
      
        '
      
      
        H
      
      
        '
      
      ,
      
        '
      
      
        elloHWorld
      
      
        '
      
      ) 結(jié)果為:
      
        5
      
    

返回指定表達(dá)式中模式第一次出現(xiàn)的開始位置,返回指定表達(dá)式中某模式第一次出現(xiàn)的起始位置;

      
        patindex
      
      (
      
        '
      
      
        %pattern%
      
      
        '
      
      ,expression)
    

如果在全部有效的文本和字符數(shù)據(jù)類型中沒有找到該模式,則返回零。

      
        select
      
      
        patindex
      
      (
      
        '
      
      
        %Hello%
      
      
        '
      
      ,
      
        '
      
      
        WorldHello
      
      
        '
      
      ) 結(jié)果為:
      
        6
      
    

返回輸入表達(dá)式的第一個(gè)字符的整數(shù)值

      
        unicode
      
      ( 
      
        '
      
      
        ncharacter_expression
      
      
        '
      
       )    
      
        '
      
      
         ncharacter_expression 
      
      
        '
      
        nchar
      
        nvarchar
      
      
         表達(dá)式。


      
      
        select
      
      
        unicode
      
      (
      
        '
      
      
        a
      
      
        '
      
      ) 結(jié)果為:
      
        97
      
      
        select
      
      
        unicode
      
      (
      
        '
      
      
        abc
      
      
        '
      
      ) 結(jié)果為:
      
        97
      
    

返回由數(shù)字?jǐn)?shù)據(jù)轉(zhuǎn)換來的字符數(shù)據(jù)
str(float_expression , length ,decimal )
float_expression 帶小數(shù)點(diǎn)的近似數(shù)字 (float) 數(shù)據(jù)類型的表達(dá)式。
length?????????????? 總長度。它包括小數(shù)點(diǎn)、符號(hào)、數(shù)字以及空格。默認(rèn)值為 10。
decimal???????????? 小數(shù)點(diǎn)右邊的小數(shù)位數(shù)。decimal 必須小于等于 16。如果 decimal 大于 16,則將結(jié)果截?cái)酁樾?shù)點(diǎn)右邊的 16 位。

      
        select
      
      
        str
      
      (
      
        123.436
      
      ,
      
        2
      
      ), 
      
        len
      
      (
      
        str
      
      (
      
        123.436
      
      ,
      
        2
      
      )) 
      
        //
      
      當(dāng)表達(dá)式超出指定長度時(shí),字符串為指定長度返回 
      
        **
      
      
        select
      
      
        str
      
      (
      
        123.436
      
      ), 
      
        len
      
      (
      
        str
      
      (
      
        123.436
      
      
        )),


      
      
        str
      
      (
      
        123.436
      
      ,
      
        6
      
      ), 
      
        len
      
      (
      
        str
      
      (
      
        123.436
      
      ,
      
        6
      
      
        )),


      
      
        str
      
      (
      
        123.436
      
      ,
      
        6
      
      ,
      
        1
      
      ), 
      
        len
      
      (
      
        str
      
      (
      
        123.436
      
      ,
      
        6
      
      ,
      
        1
      
      )) 
      
        //
      
      
        由六個(gè)數(shù)字和一個(gè)小數(shù)點(diǎn)組成的表達(dá)式轉(zhuǎn)換為有六個(gè)位置的字符串。

數(shù)字的小數(shù)部分舍入為一個(gè)小數(shù)位。


      
      
        select
      
      
        str
      
      (
      
        1234.436
      
      ), 
      
        len
      
      (
      
        str
      
      (
      
        1234.436
      
      
        )),


      
      
        str
      
      (
      
        1234.436
      
      ,
      
        6
      
      ), 
      
        len
      
      (
      
        str
      
      (
      
        1234.436
      
      ,
      
        6
      
      
        )),


      
      
        str
      
      (
      
        1234.436
      
      ,
      
        6
      
      ,
      
        1
      
      ),
      
        len
      
      (
      
        str
      
      (
      
        1234.436
      
      ,
      
        6
      
      ,
      
        1
      
      ))
    

得到字符的ASCII碼
ascii()用來得到一個(gè)字符的ASCII碼,它有且只有一個(gè)參數(shù),如果參數(shù)為字符串,那么取第一個(gè)字符的ASCII碼

      
        select
      
      
        ascii
      
      (
      
        '
      
      
        H
      
      
        '
      
      
        )


      
      
        select
      
      
        ascii
      
      (
      
        '
      
      
        HelloWorld!
      
      
        '
      
      )
    

得到一個(gè)與ASCII碼數(shù)字對應(yīng)的字符

      
        Char
      
      (integer_expression)  integer_expression 介于 
      
        0
      
        255
      
       之間的整數(shù)。如果該整數(shù)表達(dá)式不在此范圍內(nèi),將返回 
      
        NULL
      
      
         值。


      
      
        select
      
      
        Char
      
      (
      
        72
      
      )
    

返回返回具有指定的整數(shù)代碼的 Unicode 字符

      
        nchar
      
      (integer_expression)  integer_expression 介于 
      
        0
      
        65535
      
       之間的正整數(shù)。如果指定了超出此范圍的值,將返回 
      
        NULL
      
      
      
        select
      
      
        nchar
      
      (
      
        1000
      
      )
    

返回帶有分隔符的 Unicode 字符串,分隔符的加入可使輸入的字符串成為有效的 SQL Server 分隔標(biāo)識(shí)符。

      
        quotename
      
      (
      
        '
      
      
        character_string
      
      
        '
      
      )  character_string 不得超過 
      
        128
      
       個(gè)字符。超過 
      
        128
      
       個(gè)字符的輸入將返回 
      
        NULL
      
      
      
        select
      
      
        quotename
      
      (
      
        '
      
      
        abc[aa]def
      
      
        '
      
      
        )



結(jié)果為:
      
      
        [
      
      
        abc[
      
      
        ]
      
      ]def]  請注意,字符串 abc
      
        []
      
      
        def 中的右方括號(hào)有兩個(gè),用于指示轉(zhuǎn)義符。


      
      
        select
      
      
        QUOTENAME
      
      (
      
        '
      
      
        abcdef
      
      
        '
      
      ,
      
        ''''
      
      ) 
      
        --
      
      
        分隔符是兩個(gè)單引號(hào)
      
      
        

--
      
      
         'abcdef'
      
      
        select
      
      
        QUOTENAME
      
      (
      
        '
      
      
        abcdef
      
      
        '
      
      ) 
      
        --
      
      
        分隔符是]
      
      
        

--
      
      
         [abcdef]
      
      
        select
      
      
        QUOTENAME
      
      (
      
        '
      
      
        abcdef
      
      
        '
      
      ,
      
        '
      
      
        {}
      
      
        '
      
      ) 
      
        --
      
      
        分隔符是}
      
      
        

--
      
      
         {abcdef}
      
    


發(fā)音匹配度
有時(shí)候我們并不知道一個(gè)人姓名的拼寫,但是我們知道他的發(fā)音,這時(shí)我們可以進(jìn)行發(fā)音的匹配度測試。
soundex()用于計(jì)算一個(gè)字符串的發(fā)音特征性,這個(gè)特征值為一個(gè)四個(gè)字符的字符串,特征性的第一個(gè)字符總是初始字符串中的第一個(gè)字符,而后是一個(gè)三位數(shù)的數(shù)值。
select sname ,soundex(sname) from student
發(fā)音特征值的含義非常復(fù)雜,如果要根據(jù)兩個(gè)發(fā)音特征值來分析兩個(gè)字符串的發(fā)音相似度的話非常麻煩。
可以使用difference()來簡化兩個(gè)字符串的發(fā)音相似度比較,它可以計(jì)算兩個(gè)字符串的發(fā)音特征值,并且比較它們,
然后返回一個(gè)0~4之間的值來反映兩個(gè)字符串的發(fā)音相似度,這個(gè)值越大則表示兩個(gè)字符串的發(fā)音相似度越大。
select sname,soundex(sname), difference(sname,'Herry') from stu

?

?

?

?

SQL點(diǎn)滴33—SQL中的字符串操作


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 欧美久草 | 国产精选91热在线观看 | 亚洲一区不卡视频 | 久久爱www成人 | 天天干天天干天天操 | 国产高清一区二区三区 | 国产精品高清在线观看93 | 欧美性天天影院 | 日本黄色录象 | 久久国产三级精品 | 亚洲91在线视频 | 中文字幕一区二区三区永久 | 国产成人精品综合网站 | 免费观看毛片 | 免费一级欧美片在线观看 | 精品久久看 | 国产在线一区二区三区欧美 | 亚洲另类精品综合 | 人人干人人舔 | 偷偷鲁影院手机在线观看 | 成人午夜爽爽爽免费视频 | xxx国产老太婆视频 xxx毛片 | 日日干天天干 | 久久的爱久久的你 | 欧美精欧美乱码一二三四区 | 手机看片福利视频 | 久久加勒比 | 日本特交大片免费观看 | 京野结衣免费一区二区 | 欧美大尺度免费一级特黄 | 亚洲综合网站久久久 | 亚洲另类图区 | 成在线人免费视频一区二区三区 | 国产成+人+亚洲+欧美+日韩 | 久青草视频97国内免费影视 | 日韩欧免费一区二区三区 | 亚洲偷自拍另类图片二区 | a一级毛片视频免费看 | 亚洲视频在线观看免费视频 | 久久亚洲精品永久网站 | 四虎影院最新入口 |