Joe*_*Joe 7 sql oracle vbscript ms-access date
我正在尝试将正在运行的MS Access查询转换为在通过VB脚本(.asp)访问的Oracle数据库上运行.这是WHERE子句的最后一部分:
sql = sql & "WHERE (UAT.HB.MB_MODE = 'A' AND UAT.HB.PRINT_DATE >= '"
& SD & "' AND UAT.HB.PRINT_DATE <= '" & ED &"' )"
Run Code Online (Sandbox Code Playgroud)
变量"SD"(即"开始日期")是一个文本字符串,可以包含诸如"11/11/2008"之类的值.变量"ED"(即"结束日期")也是如此.
但是,日期不起作用.Oracle是否需要特殊的方式来使用日期?
日期是否必须转换?我是否像在MS Access中一样用'#'关键字包围它们?
Bil*_*win 17
在Oracle中,您的日期应该写为ANSI日期文字,如下所示:
DATE '2008-11-11'
Run Code Online (Sandbox Code Playgroud)
或者从这样的字符串转换为日期:
TO_DATE('11/11/2008', 'MM/DD/YYYY')
Run Code Online (Sandbox Code Playgroud)
看到这里
不要假设默认的Oracle日期格式是任何东西.检查NLS_DATE_FORMAT或使用TO_DATE进行转换.像这样:
TO_DATE('2008-11-18 14:13:59', 'YYYY-MM-DD HH24:Mi:SS')
Run Code Online (Sandbox Code Playgroud)
注意分钟的'Mi'而不是'MM'.这抓住了很多人.