1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

Конвертировать строку в дату в MS-SQL 2000

Тема в разделе "Программирование", создана пользователем VitShvets, 05.05.06.

  1. VitShvets

    VitShvets Активный участник

    565
    5
    А подскажите, плиз, как сее сделать. Дано табличка из 3-х полей, все char 20. В первом поле хранится дата в формате "ДД.ММ.ГГ ЧЧ:ММ:СС", в остальный текстовая инфа. В идеале надо выбрать записи, удовлетворяющие интервалу дат. Навроде:
    select * from MyTable where (MyField1 >= '01.01.06') AND (MyField1 <= '31.01.06')
    Но в таком виде, условие по сравнению строк работать будет, а как сконвертировать в запросе? Навроде:
    ..... where (DATE(MyField1) >= '01.01.06') ........

    Или еще одно поле заводить, а потом с ним сравнивать?
     
  2. jek

    jek Активный участник

    5.732
    0
    Есть такая функция Convert, вот ей и пользоваться. Не забыть предварительно установить SET DATEFORMAT.
     
  3. pegas

    pegas Участник

    311
    0
    convert(datetime,MyField1,4). Строку для сравнения даты имхо лучше задавать в виде yyyymmdd, тогда она не будет зависеть от настроек формата даты.
     
  4. jek

    jek Активный участник

    5.732
    0
    pegas,
    Строка то никогда не завист от настроек формата дата. Зависит то как сервер ее интерпретировать будет.
    Но по рекомендации согласен.