1. 程式人生 > >SqlSerVer 列與逗號分隔字串 互相轉換

SqlSerVer 列與逗號分隔字串 互相轉換

在專案中,使用SQLServer資料庫,有一個需求,需要將資料庫的某一列,轉換成逗號分隔的字串。同時,需要將處理完的字串,轉換成為一列。

經過查閱資料與學習,通過以下方式可以實現如上所述需求:

1、編寫一個表值函式,傳入一個字串,實現轉換成列,條件以逗號分隔(任何符號都可以自定義)

  --該函式把傳遞過來的字串轉換成IN 後面的列表,可以處理以分號,逗號以及空格分隔的字串  
CREATE FUNCTION [dbo].[GetInStr]   
             (@SourceStr varchar(2000))--源字串  
  
RETURNS  @table table(list  varchar(50) )    
  AS    
BEGIN  
  
--  select @sourcestr =  replace(@sourcestr,';',',')      
--  select @sourcestr = replace(@sourcestr,' ',',')  
 --declare @OutStr varchar(200)    
   if charindex(',',@sourcestr)>0    
    begin  
      declare @i int  
      declare @n int  
      set @i=1  
      while charindex(',',@sourcestr,@i)>0  
        begin  
           set @n=charindex(',',@sourcestr,@i)  
           insert into @table values(substring(@sourcestr,@i, @
[email protected]
) ) set @[email protected]+1 end insert into @table values(substring(@sourcestr,@i,len(@sourcestr)[email protected]+1)) end else insert into @table values(@sourcestr) delete from @table where isnull(list,'') = '' return END

2、通過for XML Path實現將列轉換成逗號連線的字串

 SELECT STUFF((SELECT ','+欄位名 FROM 表名 for xml path('')),1,1,'')

STUFF函式的意義是去掉組成字串的尾數逗號。


相關推薦

SqlSerVer 逗號分隔字串 互相轉換

在專案中,使用SQLServer資料庫,有一個需求,需要將資料庫的某一列,轉換成逗號分隔的字串。同時,需要將處理完的字串,轉換成為一列。 經過查閱資料與學習,通過以下方式可以實現如上所述需求: 1、編

List逗號分隔的字符串相互轉換

toc 情況下 選擇 AR limited 不同 tools commons 相互轉換 如果程序員想實現某種功能,有兩條路可以走。一條就是自己實現,一條就是調用別人的實現,別人的實現就是所謂的API。而且大多數情況下,好多“別人”都實現了這個功能。程序員有不得不在這其中選擇

字串陣列之間的互相轉換

將物件或者陣列或者物件陣列轉換成字串------JSON.stringify let obj= {name:'ming',age:18} console.log(JSON.stringify(obj)); let obj= [{name:'ming'

C 物件JSON字串互相轉換的幾種方式

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

java 物件json字串互相轉換工具類

                需要引入的jar包: JsonUtil.java檔案: package

objective-cc字串互相轉換

char *s = "Hello OC"; NSString *str = @"Hello"; //C->OC NSString str1 = [NSString stringWithUTF8String: s]; NSLog(@"%@",str1); //OC-&g

python日期字串互相轉換,終於搞得領清了

​python日期,字元互換 日期轉字串 1. 從Excel中讀入資料,在excel中日期這一列資料格式型別是“短日期” test = pd.read_excel('f:/test.xlsx') test.head(2) 2. 檢視讀入資料的資料型別

Python技巧——list字串互相轉換

在Python的程式設計中,經常會涉及到字串與list之間的轉換問題,下面就將兩者之間的轉換做一個梳理。1、字串轉換成list命令:list()例子:2、list轉換成字串命令:"".join(list

db2 將逗號分隔數據轉換為多值IN列表

分隔符 zone 單獨 index anr -a 分類 而是 失敗 將逗號分隔數據轉換為多值IN列表 2010-03-15 11:16:59| 分類: 數據庫技術|舉報|字號 訂閱 下載LOFTER我的照片書 |

XML文件實體類的互相轉換

title 讀寫xml文件 序列化 time inf scribe des bus ria  1. 通常程序的配置信息都保存在程序或者網站的專門的配置文件中(App.config/web.config)。但是現在為了演示XML序列化和反序列化,將配置信息保存在一個XML文件

寬字節多字節互相轉換

fun mes ide main 設置 def 允許 flags tom 這裏需要用到兩個函數:WideCharToMultiByte 與 MultiByteToWideChar 前者是從寬字節轉換為多字節,後者則相反,是從多字節轉換為寬字節。下面介紹下這兩個函數: W

字符串hash-26進制10進制互相轉換

class printf http %d 字符串 chan namespace light cin Lovekey http://acm.hdu.edu.cn/showproblem.php?pid=2100 #include <bits/stdc++.

java常用工具類(一)—— Map Bean 之間的互相轉換

import net.bytebuddy.implementation.bytecode.Throw; import org.springframework.cglib.beans.BeanMap; import java.beans.PropertyDescriptor; import java.lang

oracle wm concat函式 用於轉行 逗號分隔

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

.NET List 轉成逗號分隔字串

       今天分享一個.NET的小技巧,有時候我們在編寫程式的時候,需要把List中的資料轉換成一個用逗號分隔的字串,例如有這樣一個list: List<string> list = new List<string>(); li

JSONJava物件的互相轉換

JSON與Java物件的互相轉換 例一(單個物件進行賦值): @RequestMapping("test1.do") @ResponseBody public JSONObject test1(HttpServletRequest request, HttpServletResponse

SQL SERVER-時間戳(timestamp)時間格式(datetime)互相轉換

原文: SQL SERVER-時間戳(timestamp)與時間格式(datetime)互相轉換 SQL裡面有個DATEADD的函式。時間戳就是一個從1970-01-01 08:00:00到時間的相隔的秒數。所以只要把這個時間戳加上1970-01-01 08:00:00這個時間就可以得到你想要的時間了sel

go語言:結構體json串的互相轉換

將結構體轉為json串 package main import ( "encoding/json" "fmt" ) type Person struct { // 這裡的兩個欄位名,首字母都要大寫,否則無法轉換 Name string `

myBatis通過逗號分隔字串,foreach

前言     當資料庫裡儲存的值是以逗號分隔格式儲存的字串時。 資料格式如下:  id name  ids   1  張三

document String之間的互相轉換

字串轉換為 Document public static org.w3c.dom.Document getStringToDocument(String svg){         StringReader sr = new StringReader(svg);