【问题标题】:How to handle partial zero dates (ie. 2010-04-00) in Classic ASP/VBScript?如何在经典 ASP/VBScript 中处理部分零日期(即 2010-04-00)?
【发布时间】:2011-07-10 12:43:45
【问题描述】:

我有一个 MySQL 表,除其他外,我将日期存储在一个普通的“日期”字段中。然而,有些日期是不完整的,缺少日期或日期和月份,用双零代替,我相信这是“mysql的做法”。一些例子:

2007-04-03 - 2007 年 4 月 3 日
2006-03-00 - 火星 2006
2008-00-00 - 2008

唯一的问题是,当我尝试在经典 asp 中接收带有双零的“不完整”日期时,它不会输出它,因为它不会将其识别为日期或字符串。

我想做的就是这样,像字符串一样输出日期:

Set RecSet = Connect.Execute("SELECT * FROM mytable")
    Response.Write RecSet("mydate")
Set RecSet = nothing

我知道我可以通过简单地将字段从 date 更改为 varchar 来轻松解决这个问题,但我不知道这是否有任何副作用,例如比较 varchar 字段中的日期和日期字段中的日期时出现问题, 或在 SQL 查询中比较 varchar-dates。

因此,我想继续将我的日期存储在日期字段中,但由于我无法输出它们,所以我遇到了问题。

那么,有人知道我如何在 ASP 中处理(部分)零日期吗?

【问题讨论】:

    标签: mysql asp-classic vbscript date


    【解决方案1】:

    您可以在 select 语句中将 00 替换为 01:

    SELECT REPLACE(date_column,'-00','-01') AS formatted_date
    FROM mytable
    

    【讨论】:

    • 我想过这一点,但意识到应用程序不会知道它是否是一个“不完整”的日期,或者它是否意味着。 1997-03-01(而不是 1997-03-00)。我的表包含两个日期,例如 2007-01-01 和 2007-00-00。嗯.. 但是,mysql 中可能有一个字符串日期转换器,我会检查一下...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-29
    • 2010-11-21
    • 2012-11-17
    • 2018-07-31
    相关资源
    最近更新 更多