powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите пожалуйста
14 сообщений из 14, страница 1 из 1
Помогите пожалуйста
    #37558573
Olesia_Dav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите пожалуйста. Я раньше выбирала нужную мне дату из таблицы как between(end_d,1,10), т.е показать дату с 1 по 10 месяц включительно. А теперь база поменялась и дату вводят как 01/01/2011,,,01/05/2011,,,01/12,2011 как теперь мне задать дату если мне нужно с января по октябрь включительно
...
Рейтинг: 0 / 0
Помогите пожалуйста
    #37558601
Чип
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как раньше вносили дату? Вы не знаете как выделить месяц из выражений 01/01/2011,,,01/05/2011,,,01/12,2011 ?
...
Рейтинг: 0 / 0
Помогите пожалуйста
    #37558619
OldChukchi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
непонятно.
если раньше Вы использовали between(end_d,1,10) , то поле end_d было никакое не D , а уже содержало только номер месяца.

Соответственно, если сейчас там "честная" дата, то выделите из нее номер месяца: MONTH(end_d) , причем как именно внешне выглядит дата - совершенно неважно.

Ну а если тип поля у вас не "датный", а "символьный", то, как справедливо заметил коллега выше - преобразовывать любым удобным способом, в зависимости от.
По мне так лучше всего через CTOD() - мало ли что еще с этой датой захочется сделать :)
...
Рейтинг: 0 / 0
Помогите пожалуйста
    #37558861
Olesia_Dav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я новичок. Раньше поле end_d было числовым и прописывался только месяц 1,,,2,,,,8,,,9,,12 Я выбирала по месяцам select * from svod where between(end_d,1,10) Т.е мне нужно увидеть все с месяцем январь-октябрь. А теперь мне svod дают с полем end_month которое также числовое , но показано как 01/01/2011 ,,,,01/06/2011,,,,01/12/2011 Я не знаю как мне выбрать счета, прошедшие с датой январь-октябрь
...
Рейтинг: 0 / 0
Помогите пожалуйста
    #37558864
Olesia_Dav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Чип, Да я не знаю как мне выделить месяц
...
Рейтинг: 0 / 0
Помогите пожалуйста
    #37558908
P003
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выполни в командном окне:

? TYPE("end_month")

Что выдает ?
...
Рейтинг: 0 / 0
Помогите пожалуйста
    #37558931
Olesia_Dav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
P003, Выдает поле exp_1 со строками end_month
...
Рейтинг: 0 / 0
Помогите пожалуйста
    #37558952
VSchelk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Olesia_DavЯ новичок. Раньше поле end_d было числовым и прописывался только месяц 1,,,2,,,,8,,,9,,12 Я выбирала по месяцам select * from svod where between(end_d,1,10) Т.е мне нужно увидеть все с месяцем январь-октябрь. А теперь мне svod дают с полем end_month которое также числовое , но показано как 01/01/2011 ,,,,01/06/2011,,,,01/12/2011 Я не знаю как мне выбрать счета, прошедшие с датой январь-октябрьВ числовое поле вы не сможете занести такое значение как 01/01/2011
Оно скорее символное и здесь можно применить SUBSTR()
...
Рейтинг: 0 / 0
Помогите пожалуйста
    #37558992
Olesia_Dav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VSchelk, Мне не надо вносить значение, мне из сущ значений 01/02/2011,,,01/09/2011 нужно выбрать все даты с 01/02/2011-01/09/2011
...
Рейтинг: 0 / 0
Помогите пожалуйста
    #37559031
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Olesia_DavVSchelk, Мне не надо вносить значение, мне из сущ значений 01/02/2011,,,01/09/2011 нужно выбрать все даты с 01/02/2011-01/09/2011
Уже спрашивали, еще раз: тип поля какой где даты хранятся?
...
Рейтинг: 0 / 0
Помогите пожалуйста
    #37559042
VSchelk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Olesia_DavVSchelk, Мне не надо вносить значение, мне из сущ значений 01/02/2011,,,01/09/2011 нужно выбрать все даты с 01/02/2011-01/09/2011
в таблице имеется запись='01/02/2011'
IF substr(a,4,2)='02'
locate
endifДля большого количества делаете SCAN...
...
Рейтинг: 0 / 0
Помогите пожалуйста
    #37559065
Olesia_Dav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VSchelk, Правильно ли я выбираю? У меня все вроде получилось. select * from svod where between(month(end_month),01,10) Выбрала лишь те строки у которых поле end_month принимает значения=01/01/2011 по 01/10/2011
...
Рейтинг: 0 / 0
Помогите пожалуйста
    #37559998
alextashk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Olesia_Dav,

Правильно, то правильно
но в следующем году наступите на грабли

если таблица с накоплением более 1 года,
то в следующем году Ваша выборка даст
данные за 2 года (соответственно в 2013 за 3 года и т.д.)

более правильный запрос
select * from svod where between(end_month, DATE(2011, 1, 1), DATE(2011, 10, 31))
...
Рейтинг: 0 / 0
Помогите пожалуйста
    #37567798
Olesia_Dav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alextashk,

Большое спасибо за ответ, очень поможет для общего ознакомления в программировании. А вообще у нас базы каждый год разделяются по архивам. Если нужно за 2009г то берешь из архива 09 если нужно 11 год берешь из соответствующего архива.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите пожалуйста
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]