在Excel VBA中编写命令导出Oracle数据库的数据,怎麼使用TO_Char语句? 30
在编写一ExcelVBA的程式,想从Oracle数据库中调出一些数据,具体的语句编写如下:.CommandText=Array("SELECTITEM_NO,to_cha...
在编写一Excel VBA的程式,想从Oracle数据库中调出一些数据,具体的语句编写如下:
.CommandText = Array( "SELECT ITEM_NO,to_char(DEL_DELIVERY,'yyyymmdd') as SHIP_DATE FROM ETERNALM.CUS_SHIP_LOG WHERE (to_char(del_delivery,'yyyymmdd')>='" & a & "') AND (to_char(del_delivery,'yyyymmdd')<='" & b & "') and (ITEM_NO ='" & prod & "') order by ship_date" )
但是在WHERE後面使用TO_char之後,执行程序老是提示"错误13,形态不符合",不使用to_char的话就不会提示错误,但由於DEL_DELIVERY的格式是"yyyy/mm/dd hh:mm:ss",不能以日期进行筛选。
该命令如果在Excel中直接用汇入外部资料,然後编辑查询语句的话,是可以用的。
所以请教一下如果语句要用to_char的话,命令应该怎麼写?或者有什麼方式可以先把Del_delivery的格式转变成单纯的日期,然後再筛选?
谢谢! 展开
.CommandText = Array( "SELECT ITEM_NO,to_char(DEL_DELIVERY,'yyyymmdd') as SHIP_DATE FROM ETERNALM.CUS_SHIP_LOG WHERE (to_char(del_delivery,'yyyymmdd')>='" & a & "') AND (to_char(del_delivery,'yyyymmdd')<='" & b & "') and (ITEM_NO ='" & prod & "') order by ship_date" )
但是在WHERE後面使用TO_char之後,执行程序老是提示"错误13,形态不符合",不使用to_char的话就不会提示错误,但由於DEL_DELIVERY的格式是"yyyy/mm/dd hh:mm:ss",不能以日期进行筛选。
该命令如果在Excel中直接用汇入外部资料,然後编辑查询语句的话,是可以用的。
所以请教一下如果语句要用to_char的话,命令应该怎麼写?或者有什麼方式可以先把Del_delivery的格式转变成单纯的日期,然後再筛选?
谢谢! 展开
2个回答
展开全部
问一下哈,excel 里面有“TO_Char”这个命令吗?如果DEL_DELIVERY是格式为"yyyy/mm/dd hh:mm:ss"字符串,用left(DEL_DELIVERY,10)可以提取出yyyy/mm/dd,我觉得excel读取外部资料后可用的原因是,excel把DEL_DELIVERY处理成格式"yyyy/mm/dd hh:mm:ss",再用to_char(del_delivery,'yyyymmdd')提取出yyyymmdd是没有问题的,而直接从外部读取的话,excel只把del_delivery处理成字符串,没有格式,所以to_char(del_delivery,'yyyymmdd')提取yyyymmdd就会出错,不知道这样理解对不对。:)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询