|
Преобразование строки в дату | ☑ | ||
---|---|---|---|---|
0
DeMi4
24.11.11
✎
10:39
|
Есть строка вида 2011-08-11 как ее можно преобразовать в дату
|
|||
1
Wobland
24.11.11
✎
10:40
|
разобрать на части и скормить Дате()
|
|||
2
Stim213
24.11.11
✎
10:40
|
парсинг
|
|||
3
YF
24.11.11
✎
10:40
|
Убрать "-" и натравить Дата()
|
|||
4
Wobland
24.11.11
✎
10:40
|
а, может, Дата() и так справится, а?
|
|||
5
DeMi4
24.11.11
✎
10:47
|
Не не справится надо бить
|
|||
6
Sniper9mm
24.11.11
✎
10:54
|
ну можешь так поробывать на примере 11.08.2011
Дата(Сред(ИзмДата,7,4)+Сред(ИзмДата,4,2)+Сред(ИзмДата,0,2)); |
|||
7
Кокос
24.11.11
✎
10:56
|
"000000" еще надо приделать :)
|
|||
8
el-gamberro
24.11.11
✎
10:58
|
(1 - 7) А в запросе? :)
|
|||
9
DeMi4
24.11.11
✎
10:59
|
ДатаСтр=Прав(ДатаФ,2)+"."+Сред(ДатаФ,6,2)+"."+Лев(ДатаФ,4);
Объект.Дата=Дата(ДатаСтр); Сделал так |
|||
10
Кокос
24.11.11
✎
11:00
|
(9) работает?
|
|||
11
Sniper9mm
24.11.11
✎
11:02
|
(10) "000000" Не обязательно
|
|||
12
DeMi4
24.11.11
✎
11:03
|
ДатаСтр=Прав(ДатаФ,2)+"."+Сред(ДатаФ,6,2)+"."+Лев(ДатаФ,4)+" "+"00:00:00";
Объект.Дата=Дата(ДатаСтр); |
|||
13
DeMi4
24.11.11
✎
11:03
|
Во так работает!
|
|||
14
salvator
24.11.11
✎
11:04
|
(9) Проще Дата(СтрЗаменить(ДатаФ,"-","")+"000000");
|
|||
15
Wobland
24.11.11
✎
11:05
|
да что вы прицепились к 000000? и без него всё хорошо
|
|||
16
Кокос
24.11.11
✎
11:05
|
вообще странно. я всегда привожу к "ГГГГММДДЧЧММСС" и функция работает. Причем в УТ10 также преобразуют. тамже собственно и научился. фигли еще чет гадать?
|
|||
17
salvator
24.11.11
✎
11:05
|
Тем более проще
|
|||
18
andrewks
24.11.11
✎
17:58
|
(8) лови! и не говори, что медленно работает :)
select 0 as num ,"0" as numstr into digits union select 1,"1" union select 2,"2" union select 3,"3" union select 4,"4" union select 5,"5" union select 6,"6" union select 7,"7" union select 8,"8" union select 9,"9" ; select digits1.num+10*digits2.num as day ,digits2.numstr+digits1.numstr as daystr into days from digits as digits1 ,digits as digits2 where (digits1.num+10*digits2.num between 1 and 31) index by day ; select digits1.num+10*digits2.num as month ,digits2.numstr+digits1.numstr as monthstr into months from digits as digits1 ,digits as digits2 where (digits1.num+10*digits2.num between 1 and 12) index by month ; select digits1.num+10*digits2.num+100*digits3.num+1000*digits4.num as year ,digits4.numstr+digits3.numstr+digits2.numstr+digits1.numstr as yearstr into years from digits as digits1 ,digits as digits2 ,digits as digits3 ,digits as digits4 where (digits1.num+10*digits2.num+100*digits3.num+1000*digits4.num between 1 and 3999) index by year ; select dateadd(dateadd(dateadd(datetime(1,1,1),day,days.day-1),month,months.month-1),year,years.year-1) as Дата from years ,months ,days where (years.yearstr+"-"+months.monthstr+"-"+days.daystr=&Дата1) |
|||
19
Кокос
25.11.11
✎
10:43
|
(18) извращенец :)
|
|||
20
Поручик
25.11.11
✎
11:01
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |