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

SQL點滴33—SQL中的字符串操作

系統 2259 0
原文: SQL點滴33—SQL中的字符串操作

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

      
        select
      
       sname ,
      
        len
      
      (sname) 
      
        from
      
       student
    

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

      
        select
      
      
        lower
      
      (
      
        '
      
      
        I AM A STUDENT !
      
      
        '
      
      
        )


      
      
        select
      
      
        upper
      
      (
      
        '
      
      
        i am a student !
      
      
        '
      
      )
    

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

      
        declare
      
      
        @str
      
      
        varchar
      
      (
      
        100
      
      
        )


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

返回由重復的空格組成的字符串

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


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

取子字符串

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


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


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


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


      
      
        select
      
      
        left
      
      (
      
        '
      
      
        HelloWorld!
      
      
        '
      
       ,
      
        5
      
      
        )


      
      
        select
      
      
        right
      
      (
      
        '
      
      
        HelloWorld!
      
      
        '
      
       ,
      
        6
      
      )
    

字符串替換

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


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

返回字符串值的逆向值

      
        reverse
      
      
        (string_expression)


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

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

      
        stuff
      
      
        (character_expression , start , length ,character_expression)

start 一個整數值,指定刪除和插入的開始位置。

length 一個整數,指定要刪除的字符數。


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

以指定的次數重復字符串值

      
        replicate
      
      
        (string_expression ,integer_expression)


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

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

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

expression1在expression2 中的開始位置


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

返回指定表達式中模式第一次出現的開始位置,返回指定表達式中某模式第一次出現的起始位置;

      
        patindex
      
      (
      
        '
      
      
        %pattern%
      
      
        '
      
      ,expression)
    

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

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

返回輸入表達式的第一個字符的整數值

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


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

返回由數字數據轉換來的字符數據
str(float_expression , length ,decimal )
float_expression 帶小數點的近似數字 (float) 數據類型的表達式。
length?????????????? 總長度。它包括小數點、符號、數字以及空格。默認值為 10。
decimal???????????? 小數點右邊的小數位數。decimal 必須小于等于 16。如果 decimal 大于 16,則將結果截斷為小數點右邊的 16 位。

      
        select
      
      
        str
      
      (
      
        123.436
      
      ,
      
        2
      
      ), 
      
        len
      
      (
      
        str
      
      (
      
        123.436
      
      ,
      
        2
      
      )) 
      
        //
      
      當表達式超出指定長度時,字符串為指定長度返回 
      
        **
      
      
        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
      
      )) 
      
        //
      
      
        由六個數字和一個小數點組成的表達式轉換為有六個位置的字符串。

數字的小數部分舍入為一個小數位。


      
      
        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()用來得到一個字符的ASCII碼,它有且只有一個參數,如果參數為字符串,那么取第一個字符的ASCII碼

      
        select
      
      
        ascii
      
      (
      
        '
      
      
        H
      
      
        '
      
      
        )


      
      
        select
      
      
        ascii
      
      (
      
        '
      
      
        HelloWorld!
      
      
        '
      
      )
    

得到一個與ASCII碼數字對應的字符

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


      
      
        select
      
      
        Char
      
      (
      
        72
      
      )
    

返回返回具有指定的整數代碼的 Unicode 字符

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


      
      
        select
      
      
        nchar
      
      (
      
        1000
      
      )
    

返回帶有分隔符的 Unicode 字符串,分隔符的加入可使輸入的字符串成為有效的 SQL Server 分隔標識符。

      
        quotename
      
      (
      
        '
      
      
        character_string
      
      
        '
      
      )  character_string 不得超過 
      
        128
      
       個字符。超過 
      
        128
      
       個字符的輸入將返回 
      
        NULL
      
      
        。


      
      
        select
      
      
        quotename
      
      (
      
        '
      
      
        abc[aa]def
      
      
        '
      
      
        )



結果為:
      
      
        [
      
      
        abc[
      
      
        ]
      
      ]def]  請注意,字符串 abc
      
        []
      
      
        def 中的右方括號有兩個,用于指示轉義符。


      
      
        select
      
      
        QUOTENAME
      
      (
      
        '
      
      
        abcdef
      
      
        '
      
      ,
      
        ''''
      
      ) 
      
        --
      
      
        分隔符是兩個單引號
      
      
        

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

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

--
      
      
         {abcdef}
      
    


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

?

?

?

?

SQL點滴33—SQL中的字符串操作


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久精品啪啪嗷嗷叫 | 久久久久免费精品视频 | 欧美日韩中文视频 | 欧美洲精品亚洲精品中文字幕 | 7777奇米| 天天尻逼 | 国产乱码精品一区二区三上 | 久久天天躁狠狠躁夜夜爽蜜月 | 狠狠综合视频精品播放 | 久久精品99精品免费观看 | 色噜噜狠狠色综合免费视频 | 中文字幕日韩亚洲 | 人人揉人人爽五月天视频 | 人人干人人爱 | 亚洲图片一区二区 | 欧美 日韩 中文 | 久草在线视频资源站 | 日本aaaa视频 | 99久久免费精品 | 久久日本精品国产精品白 | 亚洲一级毛片在线播放 | 草草影院一级毛片a级 | 91成人国产 | 日韩欧美亚洲中字幕在线播放 | 四虎国产精品免费五月天 | 久久伊人免费 | 中文字幕免费在线观看 | 久草视频新| 亚洲精品成人久久久影院 | 天天操夜夜操视频 | 国产毛片一区二区三区 | 9久热久re爱免费精品视频 | 91精品中文字幕 | 久久精品国产亚洲黑森林 | 欧美成人性色大片在线观看 | 操熟美女又肥又嫩的骚屁股 | 欧美性久久久久 | 欧美刺激午夜性久久久久久久 | 我不卡老子影院午夜伦我不卡四虎 | 91视频国产高清 | 久久精品vr中文字幕 |