Имя: Пароль:
1C
1C 7.7
v7: Номер дня недели SQLite
0 Dolly_EV
 
12.09.14
13:07
Класс "ПрямойЗапрос"
Хочу добавить пару функций
ДЕНЬНЕДЕЛИ и ДЕНЬНЕДЕЛИСТРОКОЙ
для SQL "DATEPART(weekday,"+ЗначениеДата+")" - все Ок
а вот для SQLite - ничего не понимаю :-(((
Прочитал, что есть в SQLite функция:
strftime(format, timestring, modifier, modifier, ...)
где для format = %w возвращается день недели: 0…6 (0 — воскресенье)
Но у меня "strftime('%w',"+ЗначениеДата+")" возвращает, например,
для '03.01.13' = 1
для '03.10.12' = тоже 1!!
т.е. для разных годов по-разному, и совсем не 0…6 (0 — воскресенье)
ЧЯДНТ ??
1 Dolly_EV
 
12.09.14
13:10
+(0) '03.01.13' = четверг, т.е. ожидаем 4
'03.10.12' = среда, т.е. ожидаем 3
2 orefkov
 
12.09.14
13:14
(0)
Дата должна быть записана в формате YYYY-MM-DD,
проверь
strftime('%w', '2014-09-12')
выдает 5
3 Dolly_EV
 
12.09.14
13:17
(2) да видимо здесь собака порылась. в ЗначениеДата сидит "20140912". Спасибо, Саша!
4 orefkov
 
12.09.14
13:31
(3)
Согласно http://sqlite.org/lang_datefunc.html, такую запись sqlite распознает как 12ый формат - "Julian day number", номер дня от начала юлианского календаря.
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.