FormatDateTime(Now(),vbShortDate)在不同设备中提供不同的日期格式。

时间:2018-11-14 06:23:04

标签: sql-server vbscript

我在一个经典的ASP项目中工作,我从数据库中选择一个SQL查询。该查询在我自己的笔记本电脑上运行良好,并且该查询的日期格式为“ 11/14/2018”,但在办公系统中给出了所提及的错误,当我在SSMS中检查查询时,它生成的日期格式为“ 14” -11-2018'。我尝试更改不同的VB日期格式,但结果相同。

以下是查询:

 sql="select count(*) as total from hc_query a, hc_breakup b where a.querytype='hotel' and a.qdate='" & FormatDateTime(Now(),vbShortDate) & "' and a.t_id=b.pnrno and b.bookstatus='half'" '

请提出一些建议。谢谢

1 个答案:

答案 0 :(得分:1)

问题不在代码中,而在关于函数输出的假设中。 FormatDateTime的文档说明了NamedFormat参数:

  

vbShortDate :2

     

使用您指定的短日期格式显示日期   计算机的区域设置。

也就是说,输出格式取决于运行代码的计算机的本地配置。两台不同的计算机可以根据语言环境配置生成不同的输出。

如果需要一致的输出来处理以字符串形式存储在数据库字段中的日期,则需要编写自己的函数以确保一致性。