第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在T-SQL中用單個空格替換重復(fù)的空格

在T-SQL中用單個空格替換重復(fù)的空格

慕工程0101907 2019-11-26 10:00:35
我需要確保一個給定的字段在字符之間不要有一個以上的空格(我并不關(guān)心所有的空白,而只關(guān)心空格)。所以'single    spaces   only'需要變成'single spaces only'下面的行不通select replace('single    spaces   only','  ',' ')因為它會導(dǎo)致'single  spaces  only'我真的更喜歡使用本地T-SQL,而不是基于CLR的解決方案。有什么想法嗎?
查看完整描述

4 回答

?
RISEBY

TA貢獻1856條經(jīng)驗 獲得超5個贊

更整潔:


select string = replace(replace(replace(' select   single       spaces',' ','<>'),'><',''),'<>',' ')

輸出:


選擇單個空格


查看完整回答
反對 回復(fù) 2019-11-26
?
拉風(fēng)的咖菲貓

TA貢獻1995條經(jīng)驗 獲得超2個贊

這將工作:


declare @test varchar(100)

set @test = 'this   is  a    test'


while charindex('  ',@test  ) > 0

begin

   set @test = replace(@test, '  ', ' ')

end


select @test


查看完整回答
反對 回復(fù) 2019-11-26
?
月關(guān)寶盒

TA貢獻1772條經(jīng)驗 獲得超5個贊

如果您知道一行中最多只能有一定數(shù)量的空格,則可以嵌套替換:


replace(replace(replace(replace(myText,'  ',' '),'  ',' '),'  ',' '),'  ',' ')

4個替換項最多可固定16個連續(xù)空格(16個,然后8個,然后4個,然后2個,然后1個)


如果可能要長得多,那么您必須執(zhí)行類似內(nèi)聯(lián)函數(shù)的操作:


CREATE FUNCTION strip_spaces(@str varchar(8000))

RETURNS varchar(8000) AS

BEGIN 

    WHILE CHARINDEX('  ', @str) > 0 

        SET @str = REPLACE(@str, '  ', ' ')


    RETURN @str

END

然后就做


SELECT dbo.strip_spaces(myText) FROM myTable


查看完整回答
反對 回復(fù) 2019-11-26
?
浮云間

TA貢獻1829條經(jīng)驗 獲得超4個贊

update mytable

set myfield = replace (myfield, '  ',  ' ')

where charindex('  ', myfield) > 0 

替換將在所有雙精度空格上起作用,而無需進行多次替換。這是基于集合的解決方案。


查看完整回答
反對 回復(fù) 2019-11-26
  • 4 回答
  • 0 關(guān)注
  • 730 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號