在Excel VBA中编写命令导出Oracle数据库的数据,怎麼使用TO_Char语句? 30
在编写一ExcelVBA的程式,想从Oracle数据库中调出一些数据,具体的语句编写如下:WithSelection.QueryTable.Connection="OLE...
在编写一Excel VBA的程式,想从Oracle数据库中调出一些数据,具体的语句编写如下:
With Selection.QueryTable
.Connection = "OLEDB;Provider=MSDAORA.1;Password=OFFICE;User ID=office;Data Source=asrs01"
.CommandType = xlCmdSql
.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" )
a、b分别是需要输入的查找日期范围。
但是每次执行程序老是提示"错误13,形态不符合",若把WHERE後面的to_char删掉的话就不会提示错误,但由於DEL_DELIVERY的格式是"yyyy/mm/dd hh:mm:ss",不能就以日期进行筛选。
该命令如果在Excel中直接用汇入外部资料,然後编辑查询语句的话,是可以用的。
所以请教一下如果该语句要用to_char的话,命令应该怎麼写?或者有什麼方式可以先把Del_delivery的格式转变成单纯的日期,然後再筛选?
谢谢! 展开
With Selection.QueryTable
.Connection = "OLEDB;Provider=MSDAORA.1;Password=OFFICE;User ID=office;Data Source=asrs01"
.CommandType = xlCmdSql
.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" )
a、b分别是需要输入的查找日期范围。
但是每次执行程序老是提示"错误13,形态不符合",若把WHERE後面的to_char删掉的话就不会提示错误,但由於DEL_DELIVERY的格式是"yyyy/mm/dd hh:mm:ss",不能就以日期进行筛选。
该命令如果在Excel中直接用汇入外部资料,然後编辑查询语句的话,是可以用的。
所以请教一下如果该语句要用to_char的话,命令应该怎麼写?或者有什麼方式可以先把Del_delivery的格式转变成单纯的日期,然後再筛选?
谢谢! 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询