Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.06.2007, 11:05   #1
John_chek
Форумчанин
 
Аватар для John_chek
 
Регистрация: 24.01.2007
Сообщений: 108
По умолчанию Выборка

Как из БД выбрать даты числа дни который равны, например, 01 и не важны месяц и год??
Код:
select * from kart where dt_r = '01.**.****'
Как правильно написать? Тип DT_R = Date
John_chek вне форума Ответить с цитированием
Старый 26.06.2007, 08:35   #2
Andrei
Форумчанин
 
Регистрация: 20.06.2007
Сообщений: 270
По умолчанию

Функция EXTRACT извлекакет одиночное поле из значения типа даты-времени или интервала. Для твоего случая:

SELECT * FROM kart WHERE EXTRACT (DAY FROM dt_r)='01'
-Кукушка, кукушка! Накукуй мне сто лет!
-А накукуй тебе столько?

(с) Библия. Вольный перевод с древнееврейского.
Andrei вне форума Ответить с цитированием
Старый 26.06.2007, 10:50   #3
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

Цитата:
Сообщение от Andrei Посмотреть сообщение
Функция EXTRACT извлекакет одиночное поле из значения типа даты-времени или интервала. Для твоего случая:

SELECT * FROM kart WHERE EXTRACT (DAY FROM dt_r)='01'
на сколько я знаю... Extract - булевая замануха...Принимает True ,к огда выполняется условие , следующее за ним....
Тоесть будет выполнятся, когда истина... И не выполняться, когда нет...
Но я могу и ошибаться..... А одиночное поле извлекает Day...., значение которого Word....
НО опять же.. Я могу и ошибаться.... Просто нужно почитать описание данного оператора... Если я ошибаюсь, то простите меня какашку
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Pitbull вне форума Ответить с цитированием
Старый 26.06.2007, 11:42   #4
Andrei
Форумчанин
 
Регистрация: 20.06.2007
Сообщений: 270
По умолчанию

Цитата:
Сообщение от Pitbull Посмотреть сообщение
на сколько я знаю... Extract - булевая замануха...
А ты не поленись, создай простнькую базу на несколько строчек, как сделал я, и попробуй следующее:

Код:
SELECT dt_r, EXTRACT (DAY FROM dt_r), EXTRACT (MONTH FROM dt_r), EXTRACT (YEAR FROM dt_r) FROM kart
Вообще-то я не такой умный . Просто сейчас читаю "SQL для чайников" Аллен Дж. Тейлор (я всегда читаю что-нибудь из этой серии когда хочу ознакомится с новым вопросом) и там как раз описана функция EXTRACT Глава 7. Определение значений. Функции.

Почему бы не поделиться с человеком своей находкой?
-Кукушка, кукушка! Накукуй мне сто лет!
-А накукуй тебе столько?

(с) Библия. Вольный перевод с древнееврейского.
Andrei вне форума Ответить с цитированием
Старый 26.06.2007, 11:51   #5
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

Цитата:
Сообщение от Andrei Посмотреть сообщение
А ты не поленись, создай простнькую базу на несколько строчек, как сделал я, и попробуй следующее:

Код:
SELECT dt_r, EXTRACT (DAY FROM dt_r), EXTRACT (MONTH FROM dt_r), EXTRACT (YEAR FROM dt_r) FROM kart
Вообще-то я не такой умный . Просто сейчас читаю "SQL для чайников" Аллен Дж. Тейлор (я всегда читаю что-нибудь из этой серии когда хочу ознакомится с новым вопросом) и там как раз описана функция EXTRACT Глава 7. Определение значений. Функции.

Почему бы не поделиться с человеком своей находкой?
В том , что это будет работать , я и не сомневаюсь, братка... В данном примере с помощью Day ты как-бы вырезаешь значение поля day из даты. Так же можно и значения месяца (month) и года(year) вырезать... А потом опетарот Extract проверяет правильность выражения , которое в подзапросе, тоесть (DAY FROM dt_r=....) ..... Если выполняется, то select имеет место.. данные поля выводятся....

Просто я тебя поправил, чтобы люди не считали, что она что-то вырезает... Extract просто проверяет на True ,либо false....

Пусть "гуры Делфи " нас рассудят =)))
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp

Последний раз редактировалось Pitbull; 26.06.2007 в 11:54.
Pitbull вне форума Ответить с цитированием
Старый 26.06.2007, 13:48   #6
Andrei
Форумчанин
 
Регистрация: 20.06.2007
Сообщений: 270
По умолчанию

Извини, но, мне кажется, ты прочитал невнимательно мое первое сообщение, где написано буквально следующее:

Цитата:
Функция EXTRACT извлекакет ...
Согласись, вырезать и извлекать - разные вещи. Хотя я тоже виноват. Более правильнее было бы написать в следующем виде:

Код:
 
SELECT * FROM kart WHERE   EXTRACT(DAY FROM dt_r)  =  '01'
тогда видно, что

EXTRACT(DAY FROM dt_r) - функция, извлекающая значение "день" из поля dt_r, а

= - это оператор сравнения извлеченного значения с заданным. Он и определяет попадет данное значение в выборку или нет (True или False).
-Кукушка, кукушка! Накукуй мне сто лет!
-А накукуй тебе столько?

(с) Библия. Вольный перевод с древнееврейского.
Andrei вне форума Ответить с цитированием
Старый 26.06.2007, 14:09   #7
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

Цитата:
Сообщение от Andrei Посмотреть сообщение
Извини, но, мне кажется, ты прочитал невнимательно мое первое сообщение, где написано буквально следующее:



Согласись, вырезать и извлекать - разные вещи. Хотя я тоже виноват. Более правильнее было бы написать в следующем виде:

Код:
 
SELECT * FROM kart WHERE   EXTRACT(DAY FROM dt_r)  =  '01'
тогда видно, что

EXTRACT(DAY FROM dt_r) - функция, извлекающая значение "день" из поля dt_r, а

= - это оператор сравнения извлеченного значения с заданным. Он и определяет попадет данное значение в выборку или нет (True или False).
Ну, это нормально, что люди ищут понимание =))) я тебя уже понял..сорри...
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Pitbull вне форума Ответить с цитированием
Старый 26.06.2007, 15:04   #8
Andrei
Форумчанин
 
Регистрация: 20.06.2007
Сообщений: 270
По умолчанию

Цитата:
Сообщение от Pitbull Посмотреть сообщение
Ну, это нормально, что люди ищут понимание =)))
В том, что ТЫ разбершься, если захочешь, я и не сомневался ни на минуту.

А вот у начинающих в голове могла возникнуть каша. Потому и наехал.

Так дринкнем за понимание и примирение!
-Кукушка, кукушка! Накукуй мне сто лет!
-А накукуй тебе столько?

(с) Библия. Вольный перевод с древнееврейского.
Andrei вне форума Ответить с цитированием
Старый 26.06.2007, 15:53   #9
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

Цитата:
Сообщение от Andrei Посмотреть сообщение
В том, что ТЫ разбершься, если захочешь, я и не сомневался ни на минуту.

А вот у начинающих в голове могла возникнуть каша. Потому и наехал.

Так дринкнем за понимание и примирение!
та не вопрос! давай накатим, братумба....

Подскажи , как мне Рейтинг поднимать? а то отвечаю много, а рейтинг 10 =))))
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Pitbull вне форума Ответить с цитированием
Старый 27.06.2007, 08:37   #10
Andrei
Форумчанин
 
Регистрация: 20.06.2007
Сообщений: 270
По умолчанию

Цитата:
Сообщение от Pitbull Посмотреть сообщение
Подскажи , как мне Рейтинг поднимать? а то отвечаю много, а рейтинг 10 =))))
Понятия не имею как его поднимать. Просто отвечал на вопросы если мог помочь. А как рейтинг поднимается - то модератор знает. В струю попал наверное
-Кукушка, кукушка! Накукуй мне сто лет!
-А накукуй тебе столько?

(с) Библия. Вольный перевод с древнееврейского.
Andrei вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выборка по среднему Kip Microsoft Office Access 3 11.08.2008 21:56
ADO, выборка из таблицы. Roof БД в Delphi 2 09.07.2008 18:51
Выборка данных из StringGrid quqer БД в Delphi 1 14.03.2008 12:56
Выборка из таблицы ivp88 БД в Delphi 5 12.01.2008 14:36
выборка Ser_gl Microsoft Office Excel 1 24.08.2007 20:49