Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2184|回复: 7

[已解决]第4题用SQL来解决

[复制链接]
发表于 2011-7-25 15:41 | 显示全部楼层 |阅读模式
附件是EH看到的一套测试题。
其中第4小题我会用函数解决,使用分列的时候因为日期值(如20090229)之类的,做成透视表不能组合。
我在试用SQL来解决,比如:
select left(原始记录,6) as 工号,datevalue(format(mid(原始记录,7,8),"0000-00-00")) as 日期, --right(原始记录,4) as 金额
from [第四题(数据处理及分析

但还是因为日期值(如20090229)会出错,求SQL解决方案。
最佳答案
2011-7-25 20:44
select left(原始记录,6) as 工号,DateSerial(MID(原始记录,7,4),MID(原始记录,11,2),MID(原始记录,13,2)) as 日期,VAL(right(原始记录,4)) as 金额 from ['第四题(数据处理及分析)$']

Excel考核(参考答案).rar

381.44 KB, 下载次数: 34

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2011-7-25 20:44 | 显示全部楼层    本楼为最佳答案   
select left(原始记录,6) as 工号,DateSerial(MID(原始记录,7,4),MID(原始记录,11,2),MID(原始记录,13,2)) as 日期,VAL(right(原始记录,4)) as 金额 from ['第四题(数据处理及分析)$']
回复

使用道具 举报

 楼主| 发表于 2011-7-25 21:21 | 显示全部楼层
兰色幻想 发表于 2011-7-25 20:44
select left(原始记录,6) as 工号,DateSerial(MID(原始记录,7,4),MID(原始记录,11,2),MID(原始记录,13,2))  ...

没用过dateserial函数,估计作用就是相当于工作表函数date。
回复

使用道具 举报

发表于 2011-7-25 21:22 | 显示全部楼层
本帖最后由 兰色幻想 于 2011-7-25 21:23 编辑

回复 yl_li 的帖子

这是VBA里的一个日期函数,用法和参数与工作表中date函数一样,还有数值截取后要用VAL转化为数值类型,否则求和都是0
回复

使用道具 举报

发表于 2011-7-25 22:03 | 显示全部楼层
楼主的问题解决了吗?
回复

使用道具 举报

 楼主| 发表于 2011-7-26 09:31 | 显示全部楼层
兰色幻想 发表于 2011-7-25 22:03
楼主的问题解决了吗?

已经测试成功了,感谢兰版!
回复

使用道具 举报

发表于 2011-7-26 09:33 | 显示全部楼层
{:3512:}学习一下
回复

使用道具 举报

发表于 2011-8-3 18:59 | 显示全部楼层
谢谢楼主{:011:}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-12 23:32 , Processed in 0.312046 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表