На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела C/C++: Базы данных
Модераторы: B.V.
  
    > SQL запрос
      Как в SQL запросе сделать выборку по полю с типом "дата"?
      Вот так не получается
      "SELECT * FROM bd WHERE time<01.01.01"
        для Оракла я пишу так

        to_date( "010101", "YYMMDD" )
          select * from table where date = '01/01/01'
            К сожалению у меня не ORACLE
            выборка типа
            select * from table where date = '01/01/01'
            работает нормально а вот так нет(собственно как мне нужно)
            "select * from table where date > '01/01/01' & date < '01/01/04'"
              Дожно быть:
              select * from table where date > '01/01/01' and date < '01/01/04'
              Учите SQL...
                Иак я тоже пробовал - выдает ошибку:
                Data type mismatch in criteria expression
                Причем если пишешь
                "select * from table where date > '01/01/01'"
                то все нормально, а если
                "select * from table where date < '01/01/04'"
                выдает ошибку.....по моему она ругается на знак <
                  Корректирую вопрос
                  ругается она на дату заключенную в апострофы!!!
                  Она считает что заключенное в апострофы не имеет тип дата!
                  Но без апострофов вообще лажа!
                  Блин, не хочется вспоминать Чернышевского оно ЧТО ДЕЛАТЬ?
                  как корректно произвести выборку по полю с типом ДАТА? ??? ??? ??? ???
                    Для этого вопрос надо задавать нормально. А именно: что за сервер (БД), каким образом обращение идет и.т.п. У различных реализаций SQL синтаксис различается! Я привел пример на TSQL (MSSQLServer).
                      Я работаю с базай данных ACCESS находящейся на моей машине
                      recordset.open(.....) и делаю из нее выборку посредством SQL запроса
                        Ну так построй запрос в access'е построителем, потом перенеси текст в свою программу и используй.
                          Попробуй дату представлять в формате '#dd/mm/yyyy#', например
                          "select * from table where date > '#01/01/01#' & date < '#01/01/2004#'"
                            Попробуй дату представлять в формате '#dd/mm/yyyy#', например
                            "select * from table where date > '#01/01/01#' & date < '#01/01/2004#'"
                              Спасибо, вот так пошло
                              WHERE [GOD] > #01/01/01# AND [GOD] < #01/01/04#
                              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                              0 пользователей:


                              Рейтинг@Mail.ru
                              [ Script execution time: 0,0309 ]   [ 17 queries used ]   [ Generated: 23.04.24, 22:49 GMT ]