|
|
|
Изменение даты в хранимой процедуре
|
|||
|---|---|---|---|
|
#18+
Есть переменная типа TIMESTAMP. Как в ХП присвоить другой переменной такого же типа дату первой переменной, а время к примеру 9:00; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2003, 14:46 |
|
||
|
Изменение даты в хранимой процедуре
|
|||
|---|---|---|---|
|
#18+
Можно вот к примеру так: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2003, 15:00 |
|
||
|
Изменение даты в хранимой процедуре
|
|||
|---|---|---|---|
|
#18+
Можно ещё так create procedure SP_DATE( dt_in timestamp ) returns ( dt_out timestamp ) as begin ... ... ... dt_out = cast((cast(cast(:dt_in as date) as varchar(31)) || ' 09:00') as timestamp); suspend; end Например dt_in равен 25.07.2003 10:30:00 тогда dt_out будет 25.07.2003 09:00:00 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2003, 15:06 |
|
||
|
Изменение даты в хранимой процедуре
|
|||
|---|---|---|---|
|
#18+
Или так AS declare variable tmp time ; begin tmp = '09:00'; dt_out = cast(:dt_in as date) + :tmp; suspend; end Протестировал оба варианта на IB 6.5 работают оба. Первый вариант придумал на вскидку, второй - немного подумав. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2003, 15:13 |
|
||
|
Изменение даты в хранимой процедуре
|
|||
|---|---|---|---|
|
#18+
Текущая дата + 9 часов dt = current_date ||' '|| '09:00'; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2003, 15:20 |
|
||
|
Изменение даты в хранимой процедуре
|
|||
|---|---|---|---|
|
#18+
Dnico! current_date это если не ошибаюсь date . А ему надо в общем виде из какого-то любого timestamp выцепить date и обнулить time , затем прицепить новый time и соответственно получить новый timestamp . Так я понял поставленную задачу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2003, 15:53 |
|
||
|
Изменение даты в хранимой процедуре
|
|||
|---|---|---|---|
|
#18+
Ну скорее всего именно так. Единственное замечание dt_out = cast(:dt_in as date) + :tmp; Не будет работать - надо обязательно || и перед временем пробел добавлять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2003, 16:01 |
|
||
|
Изменение даты в хранимой процедуре
|
|||
|---|---|---|---|
|
#18+
>> Не будет работать - надо обязательно || и перед временем пробел добавлять. Я понимаю, что выглядит весьма экстравагантно. Но перед тем как опубликовать в конференции я проверил в IBExpert. Сработало чёрт возьми и без пробела. А вот в первом варианте где через varchar пробел действительно нужен и он там есть перед 09. Т.е. || '_09' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2003, 16:15 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=32218484&tid=1580199]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
154ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 449ms |

| 0 / 0 |
