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 + "'"