SQL查询在VB6中不起作用,但同一查询在Oracle中可以正常工作
我们编写了以下查询,该查询在Oracle中返回记录,但当通过VB6.0执行相同的查询时,它返回0条记录SQL查询在VB6中不起作用,但同一查询在Oracle中可以正常工作,sql,oracle,vb6,oracle10g,Sql,Oracle,Vb6,Oracle10g,我们编写了以下查询,该查询在Oracle中返回记录,但当通过VB6.0执行相同的查询时,它返回0条记录 选择* 来自crdh 其中expdate介于(截止日期('2002年12月3日','DD-MON-YYYY')) 和(截至日期('2012年12月31日','DD-MON-YYYY')) 和CS='AA' 有人能帮忙吗?假设您的问题中的where和只是一个输入错误,而不是您的查询的一部分,那么您出现问题的原因可能是NLS问题;格式字符串的“MON”部分依赖于区域性。您可以通过在环境中设置语言
选择*
来自crdh
其中expdate介于(截止日期('2002年12月3日','DD-MON-YYYY'))
和(截至日期('2012年12月31日','DD-MON-YYYY'))
和CS='AA'
有人能帮忙吗?假设您的问题中的
where和只是一个输入错误,而不是您的查询的一部分,那么您出现问题的原因可能是NLS问题;格式字符串的“MON”部分依赖于区域性。您可以通过在环境中设置语言来解决这个问题,但在我看来,最好使用与语言无关的数字月格式,即
Select *
from crdh
where expdate between (TO_DATE('03-12-2002','DD-MM-YYYY'))
and (TO_DATE('31-12-2012','DD-MM-YYYY'))
and CS='AA'
请在VB6中显示执行查询的代码。我不确定oracle是否会对where and
partAs@SWeko说的内容感到满意-您是否尝试过删除和从where添加“where and”(where and)后,我错加了“where and”(where and),或者更好的做法是使用ANSI语法和ISO日期格式。。。“expdate介于日期“2002-12-03”和2012-12-31之间”@DavidAldridge你是说expdate介于日期“2002-12-03”和日期“2012-12-31”之间吗?@JackDouglas是的。。。对不起,我同时在吃吐司