a b c
1 aaa-bbb-bbb 23
2 vvv-nnnn 24
3 qqq-www-wwww 12
变成如下形式:
a b1 b2 b3 c
1 aaa bbb bbb 23
2 vvv nnnn 24
3 qqq www wwww 12
我要mssql版本的 别给我Mysql和Oracle的
mysql> select * from t_fengchujun;
+------+--------------------+------+
| a | b | c |
+------+--------------------+------+
| 1 | fsdf-fefw-few-fegh | d |
| 2 | fhtre-reh-eh-jeg | fd |
| 3 | hjre-heg-wfbc | d |
+------+--------------------+------+
3 rows in set (0.00 sec)
mysql> select a,
-> SUBSTRING_INDEX(concat(b,'----'),'-',1) as b1,
-> SUBSTRING_INDEX(SUBSTRING_INDEX(concat(b,'----'),'-',2),'-',-1) as b2,
-> SUBSTRING_INDEX(SUBSTRING_INDEX(concat(b,'----'),'-',3),'-',-1) as b3,
-> SUBSTRING_INDEX(SUBSTRING_INDEX(concat(b,'----'),'-',4),'-',-1) as b4,
-> c
-> from t_fengchujun;
+------+-------+------+------+------+------+
| a | b1 | b2 | b3 | b4 | c |
| 1 | fsdf | fefw | few | fegh | d |
| 2 | fhtre | reh | eh | jeg | fd |
| 3 | hjre | heg | wfbc | | d |
就是这种效果如何达到,上边是mysql的 希望能转换成mssql的
方法和详细的操作步骤如下:
1、第一步,新的PHP文件,见下图,转到下面的步骤。
2、第二步,执行完上面的操作之后,需要声明数组变量,见下图,转到下面的步骤。
3、第三步,执行完上面的操作之后,使用函数将阵列连接到带有连接字符的字符串,见下图,转到下面的步骤。
4、第四步,执行完上面的操作之后,输出连接的字符串,见下图,转到下面的步骤。
5、第五步,执行完上面的操作之后,预览的效果见下图,转到下面的步骤。
6、第六步,执行完上面的操作之后,使用“implode”函数将数组拼接成字符串,使用“?”进行连接,见下图。这样,就解决了这个问题了。
举例:
原始SQL:
SELECT原始结果:
拆分SQL:
SELECT拆分结果:
本回答被网友采纳sql 把一个字段分成多个字段
6、第六步,执行完上面的操作之后,使用“implode”函数将数组拼接成字符串,使用“?”进行连接,见下图。这样,就解决了这个问题了。
SQL语句:如何让一个字段按个数分成几个字段显示
set @sql = @sql + ' 1 noshow from ( select row_number() over ( order by BH ) r_n,* from 你的表名 ) s group by ( r_n - 1 ) % 3 'exec ( @sql )注意:这其中 BH 就是你的字段名,如果是其他字段名,要改一下。
某一个字段分成多个字段的问题
SQL:select Date,Time,Priority,HostName,substr(Message,1,instr(Message,'') as Message_A,... as Message_B,... as Message_C,... as Message_D,... as Message_E from table
SQL 把一个字段拆分成多个字段
用Charindex()定位分隔符,然后用left()或Right()或Substring()截取字符串
数据库的表中写一个sql把已有字段对应的值 拆分为多个字段
那是因为条件 substr(money,1,length(money=6)=1) = '人民币' 没有符合条件的数据,所以是null,你用 select substr(money,1,length(money=6)=1) , * from table 看看是什么结果,一般判断字符串里是否保护某些字符,应该用charindex函数才对的。
sql 把一个字段分成多个字段
sql 把一个字段分成多个字段 30 a b c 1 aaa-bbb-bbb 23 2 vvv-nnnn 24 3 qqq-www-wwww 12 变成如下形式: a b1 b2 b3 c 1 aaa bbb ... 展开 在监狱里的日子 | 浏览4612 次 |举报 我有更好的答案推荐于2018-02-28 10:38:58 最佳答案 举例: 原始SQL: 1 2 3 4 5 SELECT PROVINCE_...
SQL一张表的一个字段多个字段名怎么设计?
方法一:长短不同,就用临时表来建字段,varchar()用长的来做字段长度。然后向临时表插入数据;方法二:用union all select cast(a.tt as varchar(30)) from a union all select cast(b.tt as varchar(30)) from b 上衣,裤子,都是tt 字段;varchar(30),30这个数不能小与最大长度就行...
怎样将SQL查出的字段分成两列解决办法
select substr(字段名称,1,x),substr(字段名称,x+1) from 表名;其中X代表你要截取的该字段要设置为第一列的长度。例如:select substr(empno,1,2)第一列,substr(empno,3)第二列 from emp;这样查询出来显示的就把 empno 字段分为了2列。
SQL中用Group by 分组 假如有个字段ID,值1~10,想分成3组(1,3,7)(2...
sum(case when id in (2,4,5,6) then 1 else 0 end),sum(case when id in (8,9,10) then 1 else 0 end)from tb group by id 这个意思?---补充--- select num,sum(case when id in (1,3,7) then num else 0 end),sum(case when num in (2,4,5,6) then num else...
SQL中怎么把A表一个字段的值分割出来分别填进B表不同的字段??
Declare @S1 varchar(100)Select @S1='母项id=546456 子项id=32423,2342,2342,45645 子项数量=3 计划百分比=0.1 专项控制=T 物料形态属性=1'select top 5 right(left(@S1,charindex(' ',(@S1))-1),charindex('=',REVERSE(left(@S1,charindex(' ',(@S1))-1)))-1) 母项id,--left(...