Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
 Функция DATE  [new]
Тарануха
Member

Откуда:
Сообщений: 13
Здравствуйте,подскажите пожалуйста.как правильно выполнить запрос:найти всех детей до 6 лет,включительно,от текущей даты?
18 фев 14, 12:21    [15581549]     Ответить | Цитировать Сообщить модератору
 Re: Функция DATE  [new]
_djХомяГ
Guest
Как посчитать возраст человека : Лет Месяцев Дней ?]тут[/url]
18 фев 14, 12:23    [15581558]     Ответить | Цитировать Сообщить модератору
 Re: Функция DATE  [new]
Glory
Member

Откуда:
Сообщений: 104751
http://technet.microsoft.com/ru-ru/library/ms186724.aspx
18 фев 14, 12:23    [15581559]     Ответить | Цитировать Сообщить модератору
 Re: Функция DATE  [new]
_djХомяГ
Guest
Как посчитать возраст человека : Лет Месяцев Дней ?
18 фев 14, 12:24    [15581570]     Ответить | Цитировать Сообщить модератору
 Re: Функция DATE  [new]
aleks2
Guest
Совершим акт беспримерного альтруизма

select * from aTable where [ДатаРожденияДитяти] between dateadd( year, -6, gatedate() ) and gatedate() 
18 фев 14, 12:27    [15581589]     Ответить | Цитировать Сообщить модератору
 Re: Функция DATE  [new]
Тарануха
Member

Откуда:
Сообщений: 13
aleks2,не работает(
18 фев 14, 12:34    [15581639]     Ответить | Цитировать Сообщить модератору
 Re: Функция DATE  [new]
Glory
Member

Откуда:
Сообщений: 104751
Тарануха
не работает(

Работает
18 фев 14, 12:35    [15581642]     Ответить | Цитировать Сообщить модератору
 Re: Функция DATE  [new]
Тарануха
Member

Откуда:
Сообщений: 13
Glory,у меня выдает все даты и значения null =((
18 фев 14, 12:37    [15581661]     Ответить | Цитировать Сообщить модератору
 Re: Функция DATE  [new]
Glory
Member

Откуда:
Сообщений: 104751
Тарануха
у меня выдает все даты и значения null

Значит они все "до 6 лет,включительно,от текущей даты"
18 фев 14, 12:41    [15581685]     Ответить | Цитировать Сообщить модератору
 Re: Функция DATE  [new]
aleks2
Guest
Тарануха
Glory,у меня выдает все даты и значения null =((

Покажите запрос + пару неправильных строк возврата.
18 фев 14, 12:41    [15581689]     Ответить | Цитировать Сообщить модератору
 Re: Функция DATE  [new]
Тарануха
Member

Откуда:
Сообщений: 13
aleks2
,син 1979-01-01 00:00:00.000
син 1979-01-01 00:00:00.000
син 1979-01-01 00:00:00.000
син 1979-01-01 00:00:00.000
син 1979-01-01 00:00:00.000
син 1979-01-01 00:00:00.000
син 1979-01-01 00:00:00.000
син 1979-01-01 00:00:00.000
син 1979-01-01 00:00:00.000
18 фев 14, 12:51    [15581762]     Ответить | Цитировать Сообщить модератору
 Re: Функция DATE  [new]
Тарануха
Member

Откуда:
Сообщений: 13
aleks2,

SELECT LEFT(PRK.KpuPrkz_Pd, 3) AS PDR,                                                 
        (SELECT     SprPdr_Nm FROM SPRPDR AS SS WHERE (LEFT(PRK.KpuPrkz_Pd, 3) = SprPdr_Pd)) AS PDR_NM,
        Kpu_Tn,Kpu_Fio3,KpuSem_Cd,KpuSem_Fio,Spr_Nm,KpuSem_Dt,Kpu_DtPst,Kpu_DtUvl

FROM 

KPUX 
INNER JOIN KPUSEM1  ON KPUX.Kpu_Rcd=KPUSEM1.Kpu_Rcd 
INNER JOIN PSPR on PSPR.spr_cd = KPUSEM1.KpuSem_Cd AND PSPR.SPRSPR_cd=680980
INNER JOIN KPUC1 ON KPUX.Kpu_Rcd = Kpuc1.kpu_Rcd
INNER JOIN KPUPRK1 AS PRK ON PRK.bookmark =
            (SELECT     MAX(P1.bookmark)
             FROM       KPUPRK1 AS P1
             WHERE      (P1.Kpu_Rcd = KPUC1.Kpu_Rcd)
                         AND (P1.KpuPrkz_DtV =
					                (SELECT     MAX(P2.KpuPrkz_DtV)
                                  FROM       KPUPRK1 AS P2
                                  WHERE      (Kpu_Rcd = KPUC1.Kpu_Rcd)
                                              AND (KpuPrkz_DtV <=GETDATE()
)                                 )
                             )
            )

        INNER JOIN SPRPDR AS Pd ON Pd.SprPdr_Pd = PRK.KpuPrkz_Pd  
        
WHERE KpuSem_CD=2 OR KpuSem_CD=4  AND KpuSem_Dt between  dateadd( year, -6, getdate() ) and getdate() 

ORDER BY KpuSem_Dt


Сообщение было отредактировано: 18 фев 14, 12:54
18 фев 14, 12:52    [15581768]     Ответить | Цитировать Сообщить модератору
 Re: Функция DATE  [new]
Glory
Member

Откуда:
Сообщений: 104751
У вас же OR в условиях WHERE
18 фев 14, 12:54    [15581791]     Ответить | Цитировать Сообщить модератору
 Re: Функция DATE  [new]
Тарануха
Member

Откуда:
Сообщений: 13
Glory,
Подскажите как исправить то что есть,что бы все заработалj, я совсем недавно работаю на SQL ,не судите строго=)
18 фев 14, 12:57    [15581816]     Ответить | Цитировать Сообщить модератору
 Re: Функция DATE  [new]
aleks2
Guest
WHERE ( KpuSem_CD=2 OR KpuSem_CD=4 ) AND KpuSem_Dt between  dateadd( year, -6, getdate() ) and getdate() 
18 фев 14, 12:59    [15581833]     Ответить | Цитировать Сообщить модератору
 Re: Функция DATE  [new]
Glory
Member

Откуда:
Сообщений: 104751
Тарануха
Подскажите как исправить

Откуда известно, какой результат вы хотите получить ?
Разберитесь с приоритетом ваших OR и AND. И расставьте скобки, чтобы этот приоритет соблюдался
18 фев 14, 12:59    [15581836]     Ответить | Цитировать Сообщить модератору
 Re: Функция DATE  [new]
Тарануха
Member

Откуда:
Сообщений: 13
Glory,
Есть задача:вывести всех людей у который есть дети(мальчик или девочка) до 6 лет
18 фев 14, 13:02    [15581850]     Ответить | Цитировать Сообщить модератору
 Re: Функция DATE  [new]
Glory
Member

Откуда:
Сообщений: 104751
Тарануха
Есть задача:вывести всех людей у который есть дети(мальчик или девочка) до 6 лет

И каким боком тут тогда условия KpuSem_CD=2 OR KpuSem_CD=4 ?
18 фев 14, 13:03    [15581854]     Ответить | Цитировать Сообщить модератору
 Re: Функция DATE  [new]
Тарануха
Member

Откуда:
Сообщений: 13
Glory,

Это код из таблицы :2-сын 4 дочка
18 фев 14, 13:04    [15581862]     Ответить | Цитировать Сообщить модератору
 Re: Функция DATE  [new]
Glory
Member

Откуда:
Сообщений: 104751
Тарануха
Это код из таблицы :2-сын 4 дочка

Вопрос был - где в постановке задачи "вывести всех людей у который есть дети(мальчик или девочка) до 6 лет" этот "код из таблицы"
Бывают какие то дети, которые не мальчик и не девочка ?
18 фев 14, 13:07    [15581874]     Ответить | Цитировать Сообщить модератору
 Re: Функция DATE  [new]
o-o
Guest
Glory
Бывают какие то дети, которые не мальчик и не девочка ?


конечно бывают. у китайцев, например.
возраст ребенка считается с момента зачатия.
ну и кто вам определит пол в 1 месяц?

(а по теме, может у них там пол NULLABLE, а хотят выборку только по тем, у кого пол проставлен)
18 фев 14, 13:18    [15581966]     Ответить | Цитировать Сообщить модератору
 Re: Функция DATE  [new]
Glory
Member

Откуда:
Сообщений: 104751
o-o
конечно бывают. у китайцев, например.
возраст ребенка считается с момента зачатия.
ну и кто вам определит пол в 1 месяц?

А дата рождения у него когда проставлена ?
18 фев 14, 13:20    [15581982]     Ответить | Цитировать Сообщить модератору
 Re: Функция DATE  [new]
iap
Member

Откуда: Москва
Сообщений: 47105
Glory
Тарануха
Это код из таблицы :2-сын 4 дочка

Вопрос был - где в постановке задачи "вывести всех людей у который есть дети(мальчик или девочка) до 6 лет" этот "код из таблицы"
Бывают какие то дети, которые не мальчик и не девочка ?
Опасную тему поднимаете!
Вообще-то бывают.
18 фев 14, 13:20    [15581983]     Ответить | Цитировать Сообщить модератору
 Re: Функция DATE  [new]
Тарануха
Member

Откуда:
Сообщений: 13
Спасибо всем,вопрос решился,но вот теперь другой вопрос:Вывести количество месяцев и дней когда ребенок считался "ребенком до 6 лет" с момента поступления мамы(папы) на работу
18 фев 14, 13:27    [15582047]     Ответить | Цитировать Сообщить модератору
 Re: Функция DATE  [new]
aleks2
Guest
Тарануха
Спасибо всем,вопрос решился,но вот теперь другой вопрос:Вывести количество месяцев и дней когда ребенок считался "ребенком до 6 лет" с момента поступления мамы(папы) на работу


Не, робяты, мой альтруизм кончился.
18 фев 14, 13:30    [15582069]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить