Сравнение SQLite varchar по дате

У меня есть два поля varchar с именами StartDate (например, 'MM/dd/yyyy') и StartTime (например, «hh:mm»).

выберите * из таблицы "где StartDate‹'MM/dd/yyyy'"

Может ли кто-нибудь помочь мне с этим запросом?


person Mehbube Arman    schedule 03.07.2013    source источник
comment
Не могли бы вы быть более конкретным, пожалуйста? Чем мы могли бы вам помочь?   -  person Imane Fateh    schedule 03.07.2013
comment
На самом деле у меня есть огромное количество данных для полей StartDate и StartTime, которые являются VarChar(s). Мне нужно выбрать некоторые из этих строк, где StartDate‹ 'некоторая дата'   -  person Mehbube Arman    schedule 03.07.2013
comment
На ваш вопрос, вероятно, уже ответили здесь: stackoverflow.com/questions/8187288/ sql-выбор между датами   -  person Manuel Barbe    schedule 03.07.2013
comment
Почему, почему, почему люди хранят даты как символы, а не как даты? Или, по крайней мере, с приличным форматом Char, например YYYY-MM-DD или YYYYMMDD?   -  person ypercubeᵀᴹ    schedule 03.07.2013
comment
@ypercube, даже мне интересно то же самое...   -  person Mehbube Arman    schedule 03.07.2013
comment
@ManuelBarbe, спасибо, я только что попробовал это в администраторе sqlite, и это сработало. Спасибо за помощь   -  person Mehbube Arman    schedule 03.07.2013


Ответы (1)


Для вашей конкретной проблемы вам придется преобразовать varchar самостоятельно, и ответ можно найти в этом сообщении stackoverflow: Sqlite преобразовать строку в дату

sqlite позволит вам использовать обычный запрос для даты, сохраненной как varchar, однако вам придется хранить даты в правильном формате — возможно, вы можете изменить поля даты, чтобы они соответствовали этому формату? Взгляните на документацию sqlite: функции даты sqlite.

person PWobst    schedule 03.07.2013