Select 学生编号,性别,case when DatePart('m',年月)=1 then 成绩 else 0 end,case when DatePart('m',年月)=2 then 成绩 else 0 end,case when DatePart('m',年月)=3 then 成绩 else 0 end,case when DatePart('m',年月)=4 then 成绩 else 0 end,case when DatePart('m',年月)=5 then 成绩 else 0 end,case when DatePart('m',年月)=6 then 成绩 else 0 end,case when DatePart('m',年月)=7 then 成绩 else 0 end,case when DatePart('m',年月)=8 then 成绩 else 0 end,case when DatePart('m',年月)=9 then 成绩 else 0 end,case when DatePart('m',年月)=10 then 成绩 else 0 end,case when DatePart('m',年月)=11 then 成绩 else 0 end,case when DatePart('m',年月)=12 then 成绩 else 0 end From 表名
参考下这个
补充:
如果有规律也可以做到,没有规律就不能这样处理了
比如你的200901 是2009年1月 200910 是2009年十月 而没有20091这样的值出现的话
case when 年月=200901 then 成绩 else 0 end 就是一月的了
select TO_CHAR(add_months(to_date(bjzny,'yyyymm'),-1) ,'YYYYMM') from B;
用add_months函数。。
sql字符串转换成日期语句:日期=convert(datetime,字符串)。
CONVERT ()语句的用途是将一种数据类型的表达式转换为另一种数据类型的表达式。格式是CONVERT ( data_type [ ( length ) ] , expression [ , style ] )。
expression:任何有效的表达式。
data_type:目标数据类型。这包括 xml、bigint 和 sql_variant。不能使用别名数据类型。
length:指定目标数据类型长度的可选整数。默认值为 30。
style:指定 CONVERT 函数如何转换 expression 的整数表达式。如果样式为 NULL,则返回 NULL。该范围是由 data_type 确定的。
返回类型:返回转换为 data_type 的 expression。
扩展资料:
如果 expression 为 date 或 datetime 数据类型,则其他值作为 0 进行处理。SQL Server 使用科威特算法来支持阿拉伯样式的日期格式。
style 将datetime 和smalldatetime数据转换为字符串时所选用的由SQL Server 系统提供的转换样式编号,不同的样式编号有不同的输出格式;一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)相互转换的时候才用到。
insert into zz_date
select to_date('20100101','YYYYMMDD') + level - 1
from dual
connect by level < level + 1 and level <= (sysdate-to_date('20100101','YYYYMMDD')) + 1
;
以上就是关于求按月查询统计的sql,oracle全部的内容,包括:求按月查询统计的sql,oracle、plsql 语句问题、sql字符串转换成日期等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)