欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

sql?server如何去除數(shù)據(jù)中的一些無(wú)用的空格

 更新時(shí)間:2023年05月29日 11:43:49   作者:wxl@  
這篇文章主要介紹了sql?server去除數(shù)據(jù)中的一些無(wú)用的空格,本文給大家提到了一些常用的函數(shù),結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

先有個(gè)一名為student的關(guān)系,其字段以及元組如圖所示:

為了保持?jǐn)?shù)據(jù)的一致性,現(xiàn)在需要將sname的多余空格去除,以及將所有的snative字段的“族”去掉以保持?jǐn)?shù)據(jù)的一致性。
在這之前,首先介紹幾個(gè)常用的函數(shù):

left&right&substring

使用格式:
left(str, n)
right(str, n)
substring(str, start, n)
str指的是字符串對(duì)象,n指的是字符個(gè)數(shù),所以left和right的作用就明了了:從傳入的字符串的左邊(右邊)第一個(gè)字符開(kāi)始,選中n個(gè)字符,例如:

這里選出的結(jié)果有的為空是因?yàn)樵P(guān)系中sname有些開(kāi)頭有空格。
而substring()的用法更為靈活,它指定了從str的第幾個(gè)元素開(kāi)始,即start的作用,如從sname的第二個(gè)字符開(kāi)始選擇三個(gè)字符:

有三個(gè)地方需要注意:

  • 在sql中,字符串的第一個(gè)字符不是0,而是1,拿python來(lái)說(shuō),它的字符串的第一個(gè)字符的索引為0,拿C語(yǔ)言的數(shù)組來(lái)說(shuō),第一個(gè)元素的索引為0,所以這個(gè)區(qū)別需要清楚。
  • 我們知道中文占用兩個(gè)字節(jié),可能在這里容易陷入一個(gè)誤區(qū):是不是sql選擇字符串中的中文需要兩個(gè)距離大小呢?比如選擇第一個(gè)中文就是:substring(str, 1, 2)?看了上面的實(shí)例就知道了,這里儲(chǔ)存字符串類似于數(shù)組,一個(gè)字符占用一個(gè)位置,所以這樣才是正確的:substring(str, 1, 1)
  • 如果要訪問(wèn)字符串的最后一個(gè)字符如何操作呢?根據(jù)這三個(gè)函數(shù)有兩種方法:right(str, 1)或者substring(str, len(str), 1)

lower&upper

使用方式:

select upper(sname) from student;
select lower(sname) from student;

這兩個(gè)函數(shù)對(duì)于中文無(wú)影響

ltrim&rtrim

使用方式:

select ltrim(sname) from student;
select rtrim(sname) from student;

作用:去除屬性值最左邊(右邊)的空格;

模糊查詢(like的用法)

具體請(qǐng)參照我的這一篇博文:http://www.dbjr.com.cn/database/285790x8b.htm

首先解決簡(jiǎn)單的,將民族的多余的“族”去掉:

update student set 
snative=substring(snative, 1, len(snative) - 1) 
where right(snative, 1)='族';

現(xiàn)在去除多余的空格:
大體上有兩種方式,使用like和不適用like:

使用like :

首先去除左右兩邊的空格:
這里的% 可以代表任意字符,甚至可以為空。

-- 首先去除左右兩邊的空格
update  student set  
sname=ltrim(rtrim(sname)) where sname like ‘% %';

然后去除中間的空格:

update student set 
sname=left(sname,1)+right(sname,1) where sname like ‘% %';

使用like '% %'其實(shí)實(shí)現(xiàn)了掃描每一個(gè)sname字符串是否包含空格。

不使用like:

首先去除兩邊的空格:

update student set sname=ltrim(rtrim(sname));

去除中間的空格:

update student set 
sname = left(sname, 1) + 
rtrim(ltrim(substring(sname, 2, len(sname) - 2))) + 
right(sname, 1);

這種方法其實(shí)不通用,僅僅適合處理名字長(zhǎng)度小于4的情況,其他情況的中間空格沒(méi)法完全去除。它的思路就是先除去sname的左右空格,然后取中間部分,再次除去這部分的左右空格,然后和左右部分相接。

到此這篇關(guān)于sql server去除數(shù)據(jù)中的一些無(wú)用的空格的文章就介紹到這了,更多相關(guān)sql server去除數(shù)據(jù)空格內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SQLServer地址搜索性能優(yōu)化

    SQLServer地址搜索性能優(yōu)化

    網(wǎng)上關(guān)于SQL優(yōu)化的教程很多,但是比較雜亂。今天我們來(lái)從一個(gè)簡(jiǎn)單的例子來(lái)探討下SQLServer地址搜索性能優(yōu)化
    2017-01-01
  • sql server排查死鎖優(yōu)化性能

    sql server排查死鎖優(yōu)化性能

    這篇文章介紹了sql server排查死鎖優(yōu)化性能的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • GreatSQL 在SQL中如何使用 HINT 語(yǔ)法修改會(huì)話變量

    GreatSQL 在SQL中如何使用 HINT 語(yǔ)法修改會(huì)話變量

    GreatSQL推出新的優(yōu)化Hint功能,名為SET_VAR,允許用戶在查詢語(yǔ)句中修改數(shù)據(jù)庫(kù)的會(huì)話變量,但只對(duì)當(dāng)前查詢會(huì)話生效,不影響其他會(huì)話,本文給大家介紹GreatSQL 在SQL中如何使用 HINT 語(yǔ)法修改會(huì)話變量,感興趣的朋友一起看看吧
    2024-10-10
  • SQL?Server查看當(dāng)前連接數(shù)和最大連接數(shù)具體方法代碼

    SQL?Server查看當(dāng)前連接數(shù)和最大連接數(shù)具體方法代碼

    這篇文章主要介紹了SQL?Server查看當(dāng)前連接數(shù)和最大連接數(shù)的具體方法,講解了使用系統(tǒng)視圖、配置選項(xiàng)、實(shí)時(shí)監(jiān)控和SQL?Server?Management?Studio等方法,每種方法都給出了代碼示例,需要的朋友可以參考下
    2025-04-04
  • sql?server如何去除數(shù)據(jù)中的一些無(wú)用的空格

    sql?server如何去除數(shù)據(jù)中的一些無(wú)用的空格

    這篇文章主要介紹了sql?server去除數(shù)據(jù)中的一些無(wú)用的空格,本文給大家提到了一些常用的函數(shù),結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-05-05
  • sqlserver 數(shù)據(jù)庫(kù)學(xué)習(xí)筆記

    sqlserver 數(shù)據(jù)庫(kù)學(xué)習(xí)筆記

    sqlserver 數(shù)據(jù)庫(kù)學(xué)習(xí)筆記,學(xué)習(xí)sqlserver的朋友可以參考下。
    2011-11-11
  • SQLSERVER的非聚集索引結(jié)構(gòu)深度理解

    SQLSERVER的非聚集索引結(jié)構(gòu)深度理解

    非聚集索引也是堆結(jié)構(gòu)?其實(shí)SQLSERVER有幾種頁(yè)面類型(數(shù)據(jù)都使用一頁(yè)一頁(yè)來(lái)存儲(chǔ),就像Windows的內(nèi)存也是使用頁(yè)面來(lái)組織的)感興趣的朋友可以了解下,希望本文可以增加你們對(duì)非聚集索引結(jié)構(gòu)的理解
    2013-01-01
  • SQL Server數(shù)據(jù)復(fù)制到的Access兩步走

    SQL Server數(shù)據(jù)復(fù)制到的Access兩步走

    以下的文章主要描述的是把SQL Server數(shù)據(jù)復(fù)制到的Access數(shù)據(jù)庫(kù)中的實(shí)際操作步驟,以及對(duì)其在實(shí)際操作中要用到的代碼描述。
    2015-09-09
  • SQLServer2019安裝教程圖文詳解

    SQLServer2019安裝教程圖文詳解

    這篇文章主要介紹了SQLServer2019安裝教程圖文詳解,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • 談?wù)凾empdb對(duì)SQL Server性能優(yōu)化有何影響

    談?wù)凾empdb對(duì)SQL Server性能優(yōu)化有何影響

    由于tempdb是SQLServer的系統(tǒng)數(shù)據(jù)庫(kù)一直都是SQLServer的重要組成部分,用來(lái)存儲(chǔ)臨時(shí)對(duì)象,在數(shù)據(jù)庫(kù)中起到舉足輕重的作用,此篇文章給大家?guī)?lái)tempdb對(duì)sql server性能優(yōu)化的影響,感興趣的朋友參考下
    2015-11-11

最新評(píng)論