Как обрабатывать частичные нулевые даты (например, 2010-04-00) в классическом ASP / VBScript? - PullRequest
2 голосов
/ 07 марта 2011

У меня есть MySQL-таблица, в которой, помимо прочего, я храню даты в обычном поле «дата».Некоторые даты, однако, являются неполными с пропуском либо дня, либо дня и месяца, замененных двойными нулями, что, как я полагаю, является «способом сделать это mysql».Некоторые примеры:

2007-04-03 - 3 апреля 2007
2006-03-00 - Марс 2006
2008-00-00 - 2008

Единственная проблема заключается в том, когдаЯ пытаюсь получить «неполные» даты с двойными нулями в классическом asp, он не выводит их, поскольку не распознает их как дату или строку.

Что я хотел бы сделатьэто просто, вывод даты в виде строки:

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

Я знаю, что я мог бы легко решить эту проблему, просто изменив поле с даты на varchar, но я не знаю, есть ли побочные эффектынапример, проблемы при сравнении дат в полях varchar с датами в полях дат или при сравнении даты varchar с eachother в запросе SQL.

Поэтому я хотел бы сохранить свои даты в поле даты, но, поскольку я не могу их вывести, у меня возникла проблема.

Итак, любой знает, как я могу справиться (частично) нулевые даты в ASP?

1 Ответ

0 голосов
/ 07 марта 2011

Вы можете просто заменить 00 на 01 в вашем операторе выбора:

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