數據庫:SQLServer Stuff 函數用法筆記

今天小編給大家分享一下自己整理一下SQLServer Stuff函數用法技巧和常用示例,有需要的朋友可以學習一下。

一、Stuff函數的作用

1.1官方解釋

STUFF 函數將字符串插入到另一個字符串中。?它從第一個字符串的開始位置刪除指定長度的字符;然后將第二個字符串插入到第一個字符串的開始位置。

1.2 語法格式

STUFF?(?character_expression?,?start?,?length?,replaceWith_expression )

1.3 參數詳解?

1、character_expression

字符數據的表達式。character_expression 可以是常量、變量,也可以是字段或二進制字段。

2、start

start用來指定刪除和插入開始位置的數值。?如果 start 值為負或為零,則返回空字符串。?如果 start 的長度大于第一個 character_expression,則返回空字符串。start 的類型也可以是 bigint。注意:start 值1 表示第一個字符。

3、length

length用來指定要刪除的字符個數。?如果 length值 為負,則返回空字符串。?如果 length 的長度大于第一個 character_expression,則最多可以刪除到最后一個 character_expression 中的最后一個字符。?如果 length 為零,則插入在 start 位置發生,并且不會刪除任何字符。length 的類型也可以是 bigint。

4、replaceWith_expression

字符數據的表達式。character_expression 可以是常量、變量,也可以是字段或二進制字段。?此表達式從 start 開始替換 length 個字符的 character_expression。?如果 replaceWith_expression 為 NULL,則在不插入任何內容的情況下刪除字符。

5、返回類型

如果 character_expression 是支持的字符數據類型之一,則返回字符數據。如果 character_expression 是支持的二進制數據類型之一,則返回二進制數據。

6、備注

如果開始位置或長度值是負數,或者開始位置大于第一個字符串的長度,則返回 Null 字符串。?如果開始位置為 0,則返回 Null 值。?如果要刪除的長度大于第一個字符串的長度,則刪除到第一個字符串中的第一個字符。

如果結果值大于返回類型支持的最大值,則會引發錯誤。

二、Stuff函數用法示例

2.1 刪除字符

select STUFF('hello',1,1,'') as 刪除字符列  -- 刪除第一個字符

? ? ? ? ? ? ? ? ? ? ? ?

2.2 替換字符

select STUFF('hello',4,2,'aa') as 替換字符列 -- 將lo 替換為 aa

? ? ? ? ? ? ? ? ? ? ? ?

2.3 字段拼接功能(實際開發當中比較常用

1、創建測試數據表

CREATE TABLE [dbo].[T_user](  [id] [varchar](36) NOT NULL,  [name] [varchar](36) NULL,  [age] [int] NULL,  [address] [nvarchar](50) NULL,  [create_date] [datetime] NULL, CONSTRAINT [PK_T_user] PRIMARY KEY CLUSTERED(  [id] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]

2、插入數據

1 admin 25 北京 2020-08-22 00:00:00.000

2 user 30 南京 2020-08-22 00:00:00.000

3、查詢腳本示例

SELECT STUFF((SELECT ','+name FROM dbo.T_user FOR XML PATH('')),1,1,'') names 

說明:

執行結果:

? ? ? ? ? ? ? ? ? ? ? ?

IT技術分享社區

個人博客網站:https://programmerblog.xyz

文章推薦程序員效率:畫流程圖常用的工具程序員效率:整理常用的在線筆記軟件遠程辦公:常用的遠程協助軟件,你都知道嗎?51單片機程序下載、ISP及串口基礎知識硬件:斷路器、接觸器、繼電器基礎知識

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/271684.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/271684.shtml
英文地址,請注明出處:http://en.pswp.cn/news/271684.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

自定義注解,aop實現注解鎖

多線程環境下,會出現線程不安全的問題,所以要對某些方法加鎖以保證線程安全 但是如果方法過多,每個方法前后都加這么一句,有點麻煩了,而且代碼可讀性也會差一些。可以使用aop切面編程,對某些加有特定注解&…

Android——實現歡迎界面的自動跳轉(轉)

Android實現歡迎界面的自動跳轉,就是打開某一個安卓手機應用,出現的歡迎界面停留幾秒鐘,自動進入應用程序的主界面。在網上看到很多種實現辦法,但是感覺這種方法還是比較簡單的。 在onCreate里設置個Timer,然后建立Int…

手機端刷recovery工具_MIUI/REDMIN手機玩機匯集

愿你刷機半生歸來仍是MIUI1解鎖篇解鎖Bootloader準備工作:1.手機備份數據2.手機進入開發者模式①進入“設置 -> 我的設備 -> 全部參數"中連續點擊MIUI版本,進入”開發者模式“②進入“設置 -> 開發者選項 -> 設備解鎖狀態”中綁定賬號和…

數據結構基礎:線性表學習筆記

1、線性表定義線性表是指n個元素的有限序列(n>0),通常用(a1,a2,a3...,an),來表示。2、線性表特點1、存在唯一的一個首元素2、存在唯一一個尾元素3、除第首元素外,每個元素只有一個直接前驅。4、除尾元素外,每個元素只有一個直接后繼。3、線性表的存儲…

c語言流水燈小程序,流水燈小程序.doc

流水燈小程序流水燈小程序#include void delay() //延時函數&#xff0c;這里延時100ms{int i,j;for(i0;i<100;i){for(j0;j<2242;j){} //j循環一次大概1ms}}void main(){ //這里看LED原理圖LPC_IOCON->JTAG_TMS_PIO1_00x01;//定義p1.0引腳為輸出LPC_IOCON->JTAG_TD…

iphone導出照片到電腦_iPhone里的照片如何快速導入電腦

前幾日我一好友發微信問我&#xff1a;“向陽&#xff0c;我手機里有一萬多張照片&#xff0c;怎么能快速的備份到電腦里&#xff1f;”我一看這問題&#xff0c;確實很多果友從用蘋果手機開始&#xff0c;機器已經更新換代了好多代了&#xff0c;照片是越來越多&#xff0c;內…

數據結構基礎:棧和隊列學習筆記

1、棧1.1 棧的定義棧是只能通過訪問它的一端來實現數據的存儲和檢索的一種特殊的線性數據結構。棧的修改要遵循先進后出的原則&#xff0c;這個是棧的核心。在棧中進行插入和刪除操作的一端稱為棧頂&#xff08;Top&#xff09;。另一端被稱為棧底&#xff08;bottom&#xff0…

Jquery高級編程

1.javascript具有等于&#xff08;&#xff09;和等同&#xff08;&#xff09;等號操作符是危險的&#xff0c;因為它在執行比較之前&#xff0c;強制執行類型轉換。 2.非侵擾式編程。 3.3.3Jquery的框架結構&#xff0c;待深入理解。 4.選擇器 a.元素選擇器&#xff08;元素屬…

C語言鏈表為什么倒著輸出,關于鏈表倒著存,正著輸出。

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓題目要求是你輸入a->b->c->d&#xff0c;然后存在內存里&#xff0c;然后改變在內存里的存儲&#xff0c;改成存d->c->b->a&#xff0c;然后輸出還是abcd&#xff0c;能不能就是用一個數組也存一份輸入的&#x…

idea @Autowired 注入爆紅(無法注入)

問題如下圖所示,idea Autowired 注入爆紅(無法注入) seettings ----> Editor Inspactions ----->spring ---->spring Core ----> Code ----> Autowring for Bean Class 去掉那個勾 效果如下

華為手機相冊怎么鏡像翻轉_怎么利用手機相冊制作電子視頻

怎么通過手機照片制作視頻&#xff1f;將照片做成視頻并不是很難&#xff0c;可以直接在手機上進行操作&#xff0c;下面來看看是怎么操作的。方法/步驟在手機上打開清爽視頻編輯器&#xff0c;有視頻編輯、美拍美攝、電子相冊、特效模板、動感視頻、創意視頻、動態字幕、視頻變…

Cluster_analysis

https://en.wikipedia.org/wiki/Cluster_analysis轉載于:https://www.cnblogs.com/WCFGROUP/p/5557907.html

數據結構基礎:樹結構的學習筆記

1、樹的定義樹是n(n>0)個節點的有限集合。當n0時稱為空樹&#xff0c;當n>0 為非空樹&#xff0c;任何非空樹中&#xff0c;有且僅有一個根節點&#xff1b;其余節點可分為m(m>0)個互不相交的有限集合T1、T2 等&#xff0c;其中每一個集合都可以稱為一棵樹&#xff0c…

android組件用法說明,Android第三方控件PhotoView使用方法詳解

Android第三方控件PhotoView使用方法詳解發布時間&#xff1a;2020-10-21 15:06:09來源&#xff1a;腳本之家閱讀&#xff1a;74作者&#xff1a;zhaihaohao1PhotoView的簡介&#xff1a;這是一個圖片查看庫&#xff0c;實現圖片瀏覽功能&#xff0c;支持pinch(捏合)手勢或者點…

idea中新建分支并且切換到新建的分支上

開發新功能,idea上新建自己的分支,要在dev分支上新建 首先,idea右下角可以看到目前在dev分支上 點擊dev,接著New Branch 輸入分支名 在Local Branches中就顯示了 然后可以看到已經切換到剛新建的分支上了 想要切換到剛新建的分支上開發時,可以點擊分支,在彈框上點擊Checkout

vnpy怎么創建策略并回測_【手把手教你】入門量化回測最強神器backtrader(一)

1 引言目前基于Python的量化回測框架有很多&#xff0c;開源框架有zipline、vnpy、pyalgotrader和backtrader等&#xff0c;而量化平臺有Quantopian&#xff08;國外&#xff09;、聚寬、萬礦、優礦、米筐、掘金等&#xff0c;這些量化框架或平臺各有優劣。就個人而言&#xff…

數據結構基礎:算法的基礎知識筆記

1、算法的概念算法是問題求解過程中的精確描述&#xff0c;它為解決某一特定類型的問題規定了一個運算過程。2、算法的特點2.1 有窮性一個算法必須在有窮的步驟結束后結束&#xff0c;并且每一步都在有窮時間內完成。2.2 確定性算法的執行過程中每一步都要有確定的定義&#xf…

Spring Bean Scope 有狀態的Bean 無狀態的Bean

在Spring的Bean配置中&#xff0c;存在這樣兩種情況&#xff1a; [xhtml] view plaincopy<bean id"testManager" class"com.sw.TestManagerImpl" scope"singleton" /> <bean id"testManager" class"com.sw.TestMana…

數據結構基礎:圖結構的學習筆記

1、圖的定義圖是比樹更加復雜的數據結構&#xff0c;在圖的結構當中&#xff0c;任意兩個節點之間都有可能有直接關系&#xff0c;所以圖中一個節點的前驅和后繼的數目是沒有限制的。2、圖的用途用于描述各種復雜的數據對象&#xff0c;在自然科學、社會科學和人文科學等很多領…