❶ 怎样将sql查出的字段分成两列解决办法
select substr(字段名称,1,x),substr(字段名称,x+1) from 表名;
其中X代表你要截取的该字段要设置为第一列的长度。
例如:
select substr(empno,1,2)第一列,substr(empno,3)第二列 from emp;
这样查询出来显示的就把 empno 字段分为了2列。
❷ sql查询中,如何将某列 分成 两列。
SELECT PAccM33g02,
CASE PAccM33g02
WHEN 0 THEN PAccM33g02 END PAccM33g02_J,
CASE PAccM33g02
WHEN 1 THEN PAccM33g02 END PAccM33g02_C
FROM PAccM3307
❸ sql中如何把查出的两行变为两列
行转列问题,键游已搭亮陆学生,课程,成绩 表为例
表student(name,course,score)
declare @sql varchar(8000)
begin
set @sql = 'select name as 姓名'
select @sql = @sql + ',SUM(case when course='知顷'' + [course] + ''' then score end) as '+ course + ''
from Student group by name
set @sql = @sql + ',sum(score) as 总分 from student group by name'
end
exec(@sql)
❹ sql如何将一张表中的一列数据分为两列显示
目前找到一个办法。
select id,max(money),sum(money)-max(money)
from tt
group by id
❺ 各位老师:如何在sql中把下列字符串里的内容把表里面的内容按照“:”分成两列。
假设你滑贺的表名为test_table,列名为 key_value,现在要以冒号分敬脊割' : '
select SUBSTRING_INDEX(key_value,"亮让渗:",1) as key, SUBSTRING_INDEX(key_value,":",-1) as value from test_table
❻ 关于mysql数据库将一列分成两列的方法
可用substring函数。
如某个表中只有一个字段:
ID
123abc
456def
890ghi
现在要将前三位为一个字液宽段,起名为id1,后3位是另一个字段,起名叫id2。可用如下语句:
selectsubstring(id,1,3)id1,substring(id,4,3)id2from表名
结果如下:
id1 id2
123 abd
456 def
890 ghi
substring函数说明,一共需要3个参数,其中,第一个参数为要截取的字符串,第二个磨掘参数为截取的起始位置,第三个参数为截取瞎埋核的长度。
❼ sql,2005里,如何将查询的结果分两列显示.
这个比较简单吧
先做一个子查询,把你需要的数据查出来,另外再新加一个字段,比如想第一列显示的固定为1,第二列的固定为2
然后在外面再套一层,case when xx=1 then 查询出来的字段 else '' end as 第一列
同样的方法就得到第二列了。
最后,再根据你想要的键值 group by 一下
❽ sql,2005里,如何将查询的结果分两列显示.
这个比较简单吧
先做一个子查询,把你需要的数据查出来,另外再新加一个字段,比如想第一列显示的固定为1,第二列的固定为2
然后在外面再套一层,case
when
xx=1
then
查询出来的字段
else
''
end
as
第一列
同样的方法就得到第二列了。
最后,再根据你想要的键值
group
by
一下
❾ SQL语句拆分表中内容,并变成两列
USEtempdb
GO
ALTERFUNCTIONDBO.SPLT
(@COLNVARCHAR(200),
@PRANVARCHAR(10)
)
RETURNSNVARCHAR(100)
AS
BEGIN
DECLARE@NUMNVARCHAR(100),@STRNVARCHAR(100),@IINT
SET@NUM=''
SET@STR=''
SET@I=1
WHILE(@I<=LEN(ISNULL(@COL,'')))
BEGIN
IFSUBSTRING(@COL,@I,1)IN('0','1','2','3','4','5','6','7','8','9')--说明是数字
SET@NUM=@NUM+SUBSTRING(@COL,@I,1)
ELSE
SET@STR=@STR+SUBSTRING(@COL,@I,1)
SET@I=@I+1
END
IF@PRA='STR'
SET@NUM=@STR
RETURN@NUM
END
GO
SELECTdbo.SPLT('A123,B23,BD21','STR'),dbo.SPLT('A123,B23,BD21','')
❿ 悬赏,请教sql高手一个问题,高手进,如何把以下的一列数据转换成两列
--创建函数
createFUNCTIONdbo.Ufn_StringSplit
(@sasvarchar(2000))RETURNSint
AS
BEGIN
declare@rasint,@CHARINDEXasint
set@r=0
declare@ias消毁int
set@i=0
while@i<10
begin
set@CHARINDEX=CHARINDEX(cast(@iasvarchar(1)),@s)
if@CHARINDEX<>0
begin
if@CHARINDEX<@ror@r=0
set@r=@CHARINDEX
end
set@i=@i+1
end
return@r
END
GO
--创建测试数据
select*into#from(
select'0101010001'a,nullb,'0101010001'cunionall
select'IPY88866038','IPY','88866038'unionall
select'IPY-HCAA200038401','IPY-HCAA','200038401'unionall
select'DAA05007220600T','DAA','05007220600')aa
--执行查询
select
a
,casewhenposition=1thennullelseleft(a,position-1)局坦endas转换列1
,right(a,len(a)-position+1)as转换后桐桥桐列2
from
(selecta,dbo.Ufn_StringSplit(a)aspositionfrom#)asabcd
--删除临时数据
droptable#
dropFUNCTIONdbo.Ufn_StringSplit
在SQL2014中测试通过
如图: