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