1. 程式人生 > >SQL Server 擷取字串陣列,獲取字串指定值

SQL Server 擷取字串陣列,獲取字串指定值

擷取字串:例如 qweqe,1231423,werwer;qweqe,1231423,werwer

返回一個表
這裡寫圖片描述

    --split:迴圈擷取法
CREATE FUNCTION f_splitSTR(
@s   varchar(8000),   --待分拆的字串
@split varchar(10)     --資料分隔符
)RETURNS @re TABLE(col varchar(100))
AS
BEGIN
 DECLARE @splitlen int
 SET @splitlen=LEN(@split+'a')-2--多位分隔字串比如 ';;',';,'等
 WHILE CHARINDEX(@split,@s)>0
BEGIN INSERT @re VALUES(LEFT(@s,CHARINDEX(@split,@s)-1)) SET @s=STUFF(@s,1,CHARINDEX(@split,@s)[email protected],'') END INSERT @re VALUES(@s) RETURN END GO

選取指定字串值
例如: 123,456,789,012
我要獲取456這個值
select dbo.f_split_l(‘123,456,789,012’,’,’,’2’)
就能得到 456這個值
這裡寫圖片描述

CREATE FUNCTION dbo.f_split_l(--方法:迴圈擷取法,選取指定位置的字串
@s
varchar(8000), --待分拆的字串 @split varchar(10), --資料分隔符 @in int --取的第幾條資料 )RETURNS VARCHAR(100) AS BEGIN DECLARE @splitlen int,@cou int,@re varchar(100) SET @s=@s+@split --在字串最後新增一個數據分隔符 SET @splitlen=LEN(@split+'a')-2 SET @cou=0 WHILE CHARINDEX(@split,@s)>0 AND @in>@cou BEGIN SET @re=(LEFT(@s
,CHARINDEX(@split,@s)-1)) SET @s=STUFF(@s,1,CHARINDEX(@split,@s)+@splitlen,'') SET @cou=@cou+1 END IF(CHARINDEX(@split,@s)<=0) AND @in>@cou SET @re=null RETURN @re END

相關推薦

SQL Server 擷取字串陣列獲取字串指定

擷取字串:例如 qweqe,1231423,werwer;qweqe,1231423,werwer 返回一個表 --split:迴圈擷取法 CREATE FUNCTION f_splitSTR( @s varchar(8000), -

Microsoft SQL Server 字串操作中獲取字串某個指定的符號個數方法

最近做專案遇到一個需求,需要計算某字串中某字元出現的次數,限於SQL server沒有對應直接用的函式,所以就自定義一個方法了。 方法利用到兩個函式 第一個函式: LEN函式 返回給定字串表示式的字元(而不是位元組)個數,其中不包含尾隨空格。 語法 LEN ( s

SQL Server擷取字串和處理中文技巧

ArgumentsexpressionToFindIs a character expression that contains the sequence to be found. expressionToFind is limited to 8000 characters.expressionToSearc

Sql Server 中將由逗號“”分割的一個字串轉換為一個表集並應用到 in 條件中

Sql Server 中將由逗號“,”分割的一個字串,轉換為一個表,並應用與 in 條件 select * from tablenmae where id in(1,2,3) 這樣的語句和常用,但是如果in 後面的 1,2,3是變數怎麼辦呢,一般會用字串連

JSON陣列json字串JSON物件陣列的區別與基本操作整理

JSON陣列,json字串,JSON物件,陣列的區別與基本操作整理 json字串 var objString = '{"a":"1","b":"2","c":"3"}'; json物件       var object

python中獲取字串的長度

說明:   與其他的語言一樣,有時候需要檢視或者說計算字串的長度。在此記錄下python中通過哪個函式實現。 操作過程: 1.通過len()函式返回字串的長度 >>> text='python' >>> len(text) 6 >>>

java獲取檔案MD5獲取字串MD5

 獲取md5值4個步驟: 1.建立MessageDigest物件md5。 2.使用md的update(byte[] buffer)方法將資料更新到md5物件中。 3.使用md5的digest()方法獲得摘要,該摘要是一個長度為16的陣列。 4.將該摘要陣列轉換為32位

快排冒泡二分查詢獲取字串重複次數

快排 // 基本快排 function quick(arr){ if(arr.length <=1) return arr; var left = []; var right = []; var base = arr[0]; for(var i = 1;

SQL Server利用Stuff+for xml path 將列快速的拼接成字串及建立拼接檢視

典型用法: 將查詢出的列值轉換成字串賦值給變數 以下程式碼演示所有部門ID為A300的員工姓名查詢出來並用逗號串聯成一個字串,去除開頭的逗號,賦值給變數 declare @ss nvarchar(1000) select @ss =( stuff( (select ‘,’ + Emp_CNa

SQL Server 遊標運用:滑鼠軌跡字串分割

--滑鼠軌跡字串分割 DECLARE @ID int,@PosSet VARCHAR(2000) DECLARE @splitlen INT DECLARE @split NVARCHAR(10) DECLARE @temp VARCHAR(100) DECLARE @PosSet_x INT

iOS中英文混排獲取字串長度(中文字元數)

將一個NSString型別字串獲取的長度轉換成類似ASCII編碼的長度,如漢字2個位元組,英文以及符號1個位元組這個功能。用一個char*型別的字串,然後自己遍歷一遍,將它整理為類似ASCII編碼的格式,用到 [NSString cStringUsingEncoding:N

關於SQL Server中將數值型別轉換為字串的問題(轉)

今天將Excel中的資料匯入到資料庫表A後,某一列被自動定義成了Float資料型別,然而,我們的正式庫中的表B的相對應的列是Varchar型別的,所以,就出現了表B中所對應的列資料變成了科學計數法的形式。  今天在把一些資料匯入到SQL Server的時候遇到有個列被匯入成f

關於陣列指標指標陣列雙重陣列二維矩陣字串陣列雙重字元指標的理解

1、二維陣列     int array[10][10]; 函式宣告: void fun(int a[][10])    函式呼叫:fun(array);   訪問: 一般使用a[i][j]來訪問陣列中的元素 2、指標陣列     int *array[10

Java後臺跳轉到前端頁面傳遞字串陣列前端接收轉成陣列物件

1、後臺使用JFinal 框架:     setAttr("list",JsonKit.toJson(page));  //這裡使用JsonKit先將集合轉成json,這樣傳到前臺就會是標準的 key,value都帶有    // 雙引號的字串, 如果直接放入集合沒轉成j

字元陣列字串陣列字串的相互轉換

怎麼把字元陣列轉換成字串? 例如:char[] a={'a','b','c'}; 最常用的方法是通過toString方法: Arrays.toString(a);可是這樣得到的字串是[a,b,c],而不是“abc”。 那麼怎麼變成“abc”呢? 下面的兩種方法最

利用Gson解析request得到的Json字串陣列並實現與具體物件間的轉換

當利用request.getParameter()方法得到Json字串陣列後,如果想要將其轉換成需要的Class物件時,可以利用Gson中自帶的一些物件來解析: ArticleBean article = new ArticleBean(); String

C語言程式設計 學習筆記 字串(II)(字串輸入輸出字串陣列程式引數)

字串輸入輸出: char str[8]; scanf("%s",&str); printf("%s",str); scanf表示讀入一個單詞(到空格、tab、回車為止) scanf是不安全的,因為這樣不知道要讀入的內容的長度,在一些情況中會出現問題:

SQL Server 分割某表中的字串欄位

USE TSQL2012; IF OBJECT_ID('dbo.Team', 'U') IS NOT NULL DROP TABLE dbo.Team; CREATE TABLE dbo.Team( ID INT Primary Key,TL VARCHAR(30),M

程式設計題--給定一個字串陣列判斷每個字元出現次數

題目要求:給定一個字串陣列,判斷每個字元出現多少次? 解決思路:利用Map的特性:即Map集合中如果兩個key(鍵)值是一樣相同的,那麼,後放(put)入的值會將前面存在的value(值)替換掉,也就是覆蓋了前面的value。 所以把字元陣列中的字元當作ke

Java給定一個字串陣列判斷每個字元出現次數

題目要求:給定一個字串,判斷每個字元出現多少次? 解決思路:利用Map的特性:即Map集合中如果兩個key(鍵)值是一樣相同的,那麼,後放(put)入的值會將前面存在的value(值)替換掉,也就是覆蓋了前面的value。 package com.zhj.www; impor