lebeda: (Default)
lebeda ([personal profile] lebeda) wrote2010-06-27 04:43 pm

числа и время

люди поможите... торможу
под катом текст sql


SELECT
([Amount])

,[Contents],StartTime,EndTime

FROM [MinAs].[dbo].[ACCUM]
where (CONVERT(char(8),StartTime,112) >= '20100622'
and CONVERT(char(8),EndTime,112)<= '20100623')
and (substring(CONVERT (char(8), StartTime, 108),1,5)>= '07:00'
and substring(CONVERT (char(8), endTime, 108),1,5)<= '19:00')
and Contents='110'


есть StartTime число+время начала и EndTime число+время окончания.
надо узнать количество записанное в Amount
с 22/6/10 до 23/6/10
и только в утренние часы 7:00 до 19:00.

однако когда я вот так пишу, получаю данные и ночные тоже. че делать?

Re: какртинка. справа колонка двух дат:

[identity profile] lebeda.livejournal.com 2010-06-27 08:19 pm (UTC)(link)
во первых спасибо за помощь!
во вторых затея очень хорошая, но дело в том, что мне нужна неделя.
причем неделя утро, неделя вечер. очень не хочется на 30 дней писать кейсы...

Re: какртинка. справа колонка двух дат:

[identity profile] ptfenix.livejournal.com 2010-06-27 08:25 pm (UTC)(link)
Вот я поэтому и спросила насчет более общих дат. :)
Точнее можете рассказать? Какая именно неделя утро? Например, с какой даты начиная? Потом: период должен ПОЛНОСТЬЮ укладываться в дневные (или утренние) часы, или только начинаться там? судя по тому, что есть дата енд - полностью, да?

Я готова нарисовать это в общем виде :))

Re: какртинка. справа колонка двух дат:

[identity profile] lebeda.livejournal.com 2010-06-27 08:45 pm (UTC)(link)
ох, если честно, дело такое..

люди работают в две смены по 12 часов. утро с 7 до 19, вечер с 19 до 7. и каждую неделю смены меняются. те кто работал утром переходят на вечер и наоборот.
Amount собирает продукцию.
мне говорят, скажи дорогая лебеда, сколько Contents 110 ппроизвела одна смена за месяц и сколько вторая.
и не забудь лебеда, что первая смена если так считать это та которая первого числа работала утром до субботы, с воскресенья вышла во вторую смену до субботы, в воскресенье следующей недели вышла опять с утра.. и так до конца месяца.
допустим по неделям, чтобы не открывать америку, я бы сама записала.. ибо там с днями недели заморачиваться.. но внутри недели хотелось бы все сразу..

Re: какртинка. справа колонка двух дат:

[identity profile] ptfenix.livejournal.com 2010-06-27 08:53 pm (UTC)(link)
В SQL servere (это ведь он?) есть очень удобная обработка дней недели. Можно написать общую функцию для всех случаев сразу. :))) Впрочем, не буду усложнять... не мое дело.

То есть, нужен запрос не на два дня, а на все дни недели, некий интервал? С такого-то дня по такой-то, с такого-то часа по такой-то?

Re: какртинка. справа колонка двух дат:

[identity profile] lebeda.livejournal.com 2010-06-27 09:01 pm (UTC)(link)
угумс.
я поищу про обработку дней, спасибо Птица, ты хорошая:)

Re: какртинка. справа колонка двух дат:

[identity profile] ptfenix.livejournal.com 2010-06-27 09:25 pm (UTC)(link)
Я так понял, типа: не лезь? :)))

Я понимаю, сама самостоятельная...

Re: какртинка. справа колонка двух дат:

[identity profile] lebeda.livejournal.com 2010-06-27 09:30 pm (UTC)(link)
мамочка, солнце мое! я совсем наоборот, мне помощь в радость, тем более от такой умной и любимой мной женщины.
мне показалось, что ты занята, и мне было дико неудобно просить...

Re: какртинка. справа колонка двух дат:

[identity profile] ptfenix.livejournal.com 2010-06-27 09:31 pm (UTC)(link)
:)))
Я завтра поколдую, сегодня уже башка не варит. А функцию можно написать, или только простой селект? Тут очень с функцией удобно работать: послал параметры, и никаких нагромождений...

Re: какртинка. справа колонка двух дат:

[identity profile] lebeda.livejournal.com 2010-06-27 09:36 pm (UTC)(link)
сонца моя, ты пиши птичка, сколько напишешь будет очень хорошо :)

спасибо дорогая!