A. sqlserver 分組 拼接其他欄位
SQL2005或以上才可以:
Declare @t Table
(
ID int,
FName varchar(20),
CName varchar(20),
CAge varchar(20)
)
Insert Into @t
select 1,'吳亮','吳1','3歲' Union
select 1,'吳亮','吳2','5歲' Union
select 1,'吳亮','吳3','9歲' Union
select 4,'麥大偉','麥1','3歲' Union
select 4,'麥大偉','麥2','5歲' Union
select 6,'張思','張1','3歲'
下面是合並:
Select ID,FName,CName=Stuff((Select ','+CName From @t Where ID=T.ID For xml path('')),1,1,''),
CAge=Stuff((Select ','+CAge From @t Where ID=T.ID For xml path('')),1,1,'')
From @t T Group by id,FName
B. sql如何將二個欄位連接在一起
方法一:
sql中的連接符用「||」;
舉例1:select 'zhang'||' san' from al ;結果就是 「zhang san」;
舉例2:select name || '的年齡是'|| age from tablename;結果就是「zhangsna的年齡是11」。
方法二:
mysql, oracle db2
select field1 || field2 from tab
sql server:
select field1 + field2 from tab
SQL的核心部分相當於關系代數,但又具有關系代數所沒有的許多特點,如聚集、資料庫更新等。它是一個綜合的、通用的、功能極強的關系資料庫語言,盡管SQL的功能很強,但語言十分簡潔,核心功能只用了9個動詞。
(2)sqlserver欄位拼接擴展閱讀:
SqlServer函數
upper(char_expr) 轉為大寫
lower(char_expr) 轉為小寫
space(int_expr) 生成int_expr個空格
replicate(char_expr,int_expr)復制字元串int_expr次
reverse(char_expr) 反轉字元串
stuff(char_expr1,start,length,char_expr2) 將字元串char_expr1中的從start開始的length個字元用char_expr2代替
C. SQL怎麼拼接字元串
不同的資料庫,相應的字元串拼接方式不同,通過對比加深一下記憶。
一、MySQL字元串拼接
1、CONCAT函數
語法格式:CONCAT(char c1, char c2, ..., char cn) ,其中char代表字元串,定長與不定長均可以
連接兩個字元串
(3)sqlserver欄位拼接擴展閱讀
字元串函數(String processing function)也叫字元串處理函數,指的是編程語言中用來進行字元串處理的函數,如C,pascal,Visual以及LotusScript中進行字元串拷貝,計算長度,字元查找等的函數。
字元串主要用於編程,概念說明、函數解釋、用法詳述見正文,這里補充一點:字元串在存儲上類似字元數組,所以它每一位的單個元素都是可以提取的,如s=「abcdefghij」,則s[1]=「a」,s[10]="j"。
而字元串的零位正是它的長度,如s[0]=10(※上述功能Ansistring沒有。),這可以給我們提供很多方便,如高精度運算時每一位都可以轉化為數字存入數組。
字元串函數的應用
1、連接運算 concat(s1,s2,s3…sn) 相當於s1+s2+s3+…+sn.
例:concat(『11』,'aa』)='11aa』;
2、求子串。 Copy(s,I,I) 從字元串s中截取第I個字元開始後的長度為l的子串。
例:(『abdag』,2,3)=』bda』
3、刪除子串。過程 Delete(s,I,l) 從字元串s中刪除第I個字元開始後的長度為l的子串。
例:s:=』abcde』;delete(s,2,3);結果s:=』ae』
4、插入子串。 過程Insert(s1,s2,I) 把s1插入到s2的第I個位置
例:s:=abc;insert(『12』,s,2);結果s:=』a12bc』
5、求字元串長度 length(s) 例:length(『12abc』)=5
在ASP中 求字元串長度用 len(s)例: len("abc12")=5
6、搜索子串的位置 pos(s1,s2) 如果s1是s2的子串 ,則返回s1的第一個字元在s2中的位置,若不是子串,則返回0.
例:pos(『ab』,』12abcd』)=3
7、字元的大寫轉換。Upcase(ch) 求字元ch的大寫體。
例:upcase(『a』)=』A』
8、數值轉換為數串。 過程 Str(x,s) 把數值x化為數串s.
例:str(12345,s); 結果s=』12345』
9、數串轉換為數值。 過程val(s,x,I) 把數串s轉化為數值x,如果成功則I=0,不成功則I為無效字元的序數,第三個參數也可不傳
例:val(『1234』,x,I);結果 x:=1234
D. sqlserver的varchar類型拼接的問題
declare@avarchar(300)
declare@bvarchar(20)
set@a='insertintoUser(name,age)values('''+@b+''',20)'
exec(@a)
E. SQLSERVER 如何將某個欄位的兩個行連接起來
1.用游標拼
2.用程序語言拼
F. sqlserver 分組之後 拼接新欄位 如下:
Select B.人員ID,B.人員名稱,Left(TempInfo,LEN(TempInfo) - 1) AS 新欄位 From
(Select 人員ID,人員名稱,(Select 人員的兒女 + '-' + 兒女歲數 +',' From 人員 Where 人員ID = A.人員ID For XML Path('')) AS TempInfo
From 人員 A
Group By 人員ID,人員名稱) B
這個就是你要的。
G. sqlserver 游標 變數 字元串拼接 for 怎麼改
你可以換一種方式嘛,把查出來的結果集放進臨時表或者表變數再用游標來引用
H. SQLSERVER 字元串拼接問題
字元串要打引號的,數值型才不用打,最直接的方法是把你這些字元串換成具體的內容自己拼接一下檢查,向你上面的string strsql="select * from jpsx_ddl where class= 城市"; 而城市是個字元串,所以要加單引號string strsql="select * from jpsx_ddl where class=' " + cls + " ' ";
以上回答你滿意么?
I. SQL 欄位拼接
Select A.id,A.value + B.value From 表1 A ,表2 B
Where A.id = B.id
如果表1和表2都不會出現復數條相同id的數據的話,可以採用上述寫法。但是如果
出現復數條的話,必須寫個游標循環,用變數組織。
J. sqlserver 在sql語句里字元串用什麼拼接。我知道oracle是用 || 。
SQL中用+
如:
declare @s varchar(100)
declare @d varchar(16)
set @d = '2012/2/10'
set @s = 'select * from tablename where datafield = '" + @d + "'"