Конференция "Начинающим" » Можно ли такое сделать в SQL или нет???
 
  • jjiurafds (04.01.13 19:26) [0]
    Здравствуйте!
    Вопрос следующий: есть таблица с данными. В одно из полей вставляются данные, которые ранее вводил пользователь. Эти данные  разделяются точной с запятой. Например: «Олег;28.12.12;13:03;1». Повторюсь – это все находится в единой записи и едином поле. Разделитель –точка с запятой! Если я захочу вывести записи, удовлетворяющие заданной дате и времени, то я воспользуюсь Like:
    'Select * from Or Where C1 like '….
    '+DateToStr(Date)+';'+h+':'+m+';%'+Chr(39)+' order by КОД';  (часть запроса не привожу, чтобы не захламлять).
    Все работает отлично! А если мне необходимо выделить записи, в которых дата раньше текущей???? Могу ли я в запросе такую штуку указать и как то автоматом проверить это? Или это невозможно и необходимо строго дату и время указывать в отдельных полях для такой махинации?
    Я хочу что-то типа:
    'Select * from Or Where C1 like '….
    '+DateToStr(Date)<=NOW+';'+h+':'+m+';%'+Chr(39)+' order by КОД';
  • Медвежонок Пятачок © (04.01.13 20:15) [1]
    Такое сделать можно, но не нужно.
    Нужно сделать

    alter table very_stupid_table add very_usefull_field datetime;

    Затем пройти по всем записям, достать дату и записать ее в новое поле.
 
Конференция "Начинающим" » Можно ли такое сделать в SQL или нет???
Есть новые Нет новых   [134431   +9][b:0][p:0]