在ASP中更改SQL的日期格式

时间:2013-08-22 19:27:37

标签: sql asp-classic

我有以下代码:

"SELECT top 1 * FROM CensusFacility_Records WHERE Division_Program = 'Division 1' AND JMS_UpdateDateTime = '" & date & "'"

JMS_UpdateDateTime列中的日期格式为: 2013年8月22日12:00:07 我怎样才能确保我的日期"在查询中转换为正确的时间格式?

我的SQL查询中的日期变量是实际/日期时间。我希望它与JMS_UpdateDateTime字段中的格式匹配。

2 个答案:

答案 0 :(得分:1)

如果您的数据库表足够小,您可以将值转换为查询中的实际datetime,并将值作为datetime参数传递,因此您要比较日期而不是比较字符串。

如果你的表有相当数量的记录,不要这样做,因为这将是一个性能困难。

SELECT top 1 *
FROM CensusFacility_Records
WHERE Division_Program = 'Division 1' 
AND cast(JMS_UpdateDateTime as datetime) = @dateParam

我相信SQL Server将能够读取数据库中的字符串并自动正确地投射它,假设您的服务器设置是标准的。

但无论如何,请使用参数化SQL而不是像你一样传入一个字符串。

答案 1 :(得分:1)

您的SQL DateTime的格式实际上是一个红色的鲱鱼 - 它可以以前端(例如Management Studio)选择的任何方式显示。这里重要的是您的date变量采用明确的格式。考虑到这一点,我建议使用ISO 8601日期/时间格式,例如date.ToString("o")(假设date是日期时间)。