1. 程式人生 > >SQL SERVER單個欄位列轉行由逗號","分隔

SQL SERVER單個欄位列轉行由逗號","分隔

   --1:建立一個表來測試
	CREATE TABLE Test_table (seqno INT ,field1 NVARCHAR(30))

   --2:下面是將表Test_table分別插入5筆資料
	INSERT INTO Test_table (seqno,field1)VALUES('1',N'列轉行1')
	INSERT INTO Test_table (seqno,field1)VALUES('2',N'列轉行2')
	INSERT INTO Test_table (seqno,field1)VALUES('3',N'列轉行3')
	INSERT INTO Test_table (seqno,field1)VALUES('4',N'列轉行4')
	INSERT INTO Test_table (seqno,field1)VALUES('5',N'列轉行5')
	
	SELECT * FROM Test_table (NOLOCK)--3:查詢結果,目前是一列下來。

	seqno       field1
	----------- ------------------------------
	1           列轉行1
	2           列轉行2
	3           列轉行3
	4           列轉行4
	5           列轉行5

	(5 行受影響)

	
--:4:如果我們想把上面查詢出field1欄位轉成一行,且每個值用逗號分隔,那該多好!語法如下:

	SELECT STUFF((SELECT ','+field1 FROM  Test_table (NOLOCK) for xml path('')),1,1,'') 	

--5:下面是field1欄位列轉成行,且每個值用逗號分隔

	列轉行1,列轉行2,列轉行3,列轉行4,列轉行5

	(1 行受影響)

--6:是不是幫了大大的忙?今天剛好需要將一個臨時表的單個欄位轉成行且用逗號分隔,網上找了一堆資料,其實就是這麼簡單的一句,留下來備用!

--7:drop table Test_table 測試完就可以刪掉這個表(前提是這個表是剛剛你才新建的!)


相關推薦

SQL SERVER單個位列轉行逗號","分隔

--1:建立一個表來測試 CREATE TABLE Test_table (seqno INT ,field1 NVARCHAR(30)) --2:下面是將表Test_table分別插入

關於TP3.2框架讀取Sql server中文位資料以及處理亂碼的一些小心得

最近要做一個專案,需要使用TP3.2框架,之前什麼也不會,就硬著頭皮上了,結果真的鬧了挺多emmmmmm挺低階的錯誤,就像SQL Server中文欄位的讀取,一開始我是照著讀取英文欄位的格式來寫的,在Model層裡 public function getAdminByUsername($userna

sql server替換位中的某個字元

USE [Vocabulary ] GO --UPDATE [dbo].[table name] --   SET [en] = '' --      ,[cn] ='' -- WHERE --char(9) 水平製表符 --char(10)換行鍵 --c

sql server判斷表是否存在,sql server判斷位是否存在

sql server判斷表是否存在 select COUNT(*) from  dbo.sysobjects where name='t_sys_para'; sql server判斷欄位是否存在 s

c# 字串拆分 ;c# 中字串中的分號用逗號替換;SQL Server 字串中的分號用逗號替換

1、string[] ids = extData.Split(new char[] { ';' });2、extData.Replace(";", "','"); string.Format(strSQL, extData.Replace(";", "','"))3、1 se

查詢sql server 2005 位名稱和註釋

SELECT  表名               =   CASE   WHEN   A.COLORDER=1   THEN   D.NAME   ELSE   ' '   END,表備註           =   CASE   WHEN   A.COLORDER=1  

SQL SERVER位不為空COALESCE用法

        有時候我們需要對多個欄位進行非空判斷,顯示幾個欄位中不為空(最前邊)的那個,欄位少的時候,我們可以使用CASE WHEN做判斷,但是多的時候寫起來就比較麻煩了,這時候我們可以用COALESCE,測試資料:--測試資料   if not object_id(N'

MySQL將一個位中以逗號分隔的取出來形成新的

1例如:要把如圖1的欄位拆分圖2 select account_id, substring_index(substring_index(a.related_shop_ids,',' ,b.help_topic_id+1),',',-1) shopid

python 用逗號分隔位但被三個引號括起來的位不被逗號分隔的檔案轉化為dataframe

請教一個問題: 0,"""哎,想當年來佘山的時候,類來,空了。""",-2,-2,-2,0,-2,-2,-2,1,-2,-2,-2,-2,-2,-2,-2,0,-2,-2,1,0 這種資料怎麼用pandas讀到dataframe中,"""括起來的是一個欄位,dataframe

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

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

SQL 中拆分逗號分割的位為多個

測試準備建立表並填充資料USE [zws]GO/****** Object:  Table [dbo].[a]    Script Date: 2018/5/3 16:28:28 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER

SQL Server 將一個位的內容按逗號分隔成多行顯示

drop table Tab Go Create table Tab([Col1] int,[COl2] nvarchar(5)) Insert Tab select 1,N'a,b,c' union all select 2,N'd,e' union all select 3,N'f

sql Server 的table的列 ,非自增長改為自增長

ans rop nvarchar test tablockx log tab blog lock 轉載:http://www.thinksaas.cn/topics/0/423/423869.html Demo /**************** 準備環境********

SQL Server 行轉列,列轉行

結果 name pre toolbar des null 表名 再次 arch 一、多行轉成一列(並以","隔開) 表名:A 表數據: 想要的查詢結果: 查詢語句: SELECT name , value = ( STUFF(( SELECT

Sql Server數字轉換為指定長度的字符串

col str 函數 mss tmp 增長 數字 select 數據類型 一個列的數據類型是 int ,從 1 開始自動增長,另一個列是字符串,現在想把 int 列轉換成 九個字符,比如 1 轉換後就是 000000001 ,添到字符串列,怎麽實現呢? set @imaxU

MySQL、SQL server 、Oracle資料庫中查詢所有的資料庫,查詢指定資料庫所有表名,查詢所有的位的名字

MySQL中查詢所有資料庫名和表名 1.查詢所有資料庫 show databases; 2.查詢指定資料庫中所有表名 select table_name from information_schema.tables where table_schema='database_name' a

c++連結SQL server ,用SQL語句打印表中的記錄,增加表中的記錄,刪除表的

#import "c:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF", "adoEOF") rename("BOF", "adoBOF") // 唯一的應用程式物件 CWinApp

SQL Server 2008獲取一個表的位,型別,長度,是否主鍵,是否為空,註釋等資訊

SELECT [表名]= case when a.colorder=1 then d. name else '' end , [表說明]= case when

Sql Server AUTO INCREMENT

AUTO INCREMENT 欄位 我們通常希望在每次插入新記錄時,自動地建立主鍵欄位的值。 我們可以在表中建立一個 auto-increment 欄位。   CREATE TABLE Persons(ID int IDENTITY(1,1) PRIMARY KE

sql server怎麼設定ID位為自增

①開啟要設定的資料庫表,點選要設定的欄位,比如id,這時下方會出現id的列屬性表 ②列屬性中,通過設定“標識規範”的屬性可以設定欄位自增,將“是標識”的值改為是,即成功設定id欄位為自增欄位 ③注意! 能夠設定ID欄位自增的欄位必須是可自增的,比如int,bigint型別,而varch