Sql实现拆分字段到表
2015-08-21 17:34
351 查看
1.Mysql
set @sql = concat(right(replace(',a,b,c,d,e,f,g',',',''' as S union select '''),length(replace(',a,b,c,d,e,f,g',',',''' as S union select '''))-12), '''');
prepare stmt from @sql;
execute stmt;
2.MsSql
declare @s varchar(1000),@s1 varchar(1000)
set @s = '2014-12,2015-01,2015-02,2015-03,2015-05,2015-06,2015-07,2015-08,2015-09,2015-10'
set @s1= 'select S,(select count(0) from ord_order where CONVERT(varchar(7),AddTime,120) = S) C from ('+right(replace(','+@s,',',''' as S union select '''),len(replace(','+@s,',',''' as S union select '''))-12)+''''+') a'
exec(@s1);
set @sql = concat(right(replace(',a,b,c,d,e,f,g',',',''' as S union select '''),length(replace(',a,b,c,d,e,f,g',',',''' as S union select '''))-12), '''');
prepare stmt from @sql;
execute stmt;
2.MsSql
declare @s varchar(1000),@s1 varchar(1000)
set @s = '2014-12,2015-01,2015-02,2015-03,2015-05,2015-06,2015-07,2015-08,2015-09,2015-10'
set @s1= 'select S,(select count(0) from ord_order where CONVERT(varchar(7),AddTime,120) = S) C from ('+right(replace(','+@s,',',''' as S union select '''),len(replace(','+@s,',',''' as S union select '''))-12)+''''+') a'
exec(@s1);
相关文章推荐
- Express框架使用以及数据库公共操作类整理(Win7下的NodeJs)
- mysql查看正在执行的sql语句
- PL/SQL之异常
- mysql数据库优化之表的设计和慢查询定位
- MyBatis的动态SQL详解
- Oracle关于时间/日期的操作
- Oracle11g透明网关搭建
- Oracle 11g导出的dmp文件导入到10g
- MySQL外键设置中的的 Cascade、NO ACTION、Restrict、SET NULL
- 数据库表结构比对工具
- mysql 设置参照完整性
- qt编译oracle插件驱动
- C#中数据库各种操作
- 使用gdb编译调试mysql
- 在项目中,多个方法会调用相同的sql语句,怎么解决各个方法的不同sql查询,解决冲突。
- 工作常用数据库SQL语句汇总
- Mysql-半同步
- Mongodb常用命令
- MySQL数据乱码
- 简单SQL语句-插入篇