Текущий архив: 2004.04.11;
Скачать: CL | DM;
ВнизКак отрезать время в параметре DateTime? Найти похожие ветки
← →
AndrewK © (2004-04-14 15:41) [0]Передаю в хранимую процедуру параметр типа DateTime со временем.
Как мне получить параметр типа datetime в самой процедуре без этого времени.
Например:
передается "01.01.2002 12:10:15.023"
надо получить "01.01.2002 00:00:00.000"
← →
AndrewK © (2004-04-14 15:41) [0]Передаю в хранимую процедуру параметр типа DateTime со временем.
Как мне получить параметр типа datetime в самой процедуре без этого времени.
Например:
передается "01.01.2002 12:10:15.023"
надо получить "01.01.2002 00:00:00.000"
← →
stone © (2004-04-14 15:44) [1]писать функцию, в которой "обрезать" время
← →
stone © (2004-04-14 15:44) [1]писать функцию, в которой "обрезать" время
← →
Johnmen © (2004-04-14 15:47) [2]Передать без времени...
← →
Johnmen © (2004-04-14 15:47) [2]Передать без времени...
← →
Vlad © (2004-04-14 15:47) [3]
> Как мне получить параметр типа datetime в самой процедуре
> без этого времени.
Чтобы получить параметр без времени надо передать параметр без времени
Trunc(<дата>)
← →
Vlad © (2004-04-14 15:47) [3]
> Как мне получить параметр типа datetime в самой процедуре
> без этого времени.
Чтобы получить параметр без времени надо передать параметр без времени
Trunc(<дата>)
← →
sniknik © (2004-04-14 15:47) [4]cast(round(cast(xxxx as float), 0, 1) as datetime)
а не проще параметр при передаче "урезать"?
← →
sniknik © (2004-04-14 15:47) [4]cast(round(cast(xxxx as float), 0, 1) as datetime)
а не проще параметр при передаче "урезать"?
← →
Fay © (2004-04-14 15:53) [5]2-й способ быстрее на ~10%...
declare
@dt datetime
select @dt = GetDate()
select
convert(datetime, convert(int, SubString(convert(binary(8), @dt), 1, 4)))
select
dateadd(dd, datediff(dd, "", @dt), "")
← →
Fay © (2004-04-14 15:53) [5]2-й способ быстрее на ~10%...
declare
@dt datetime
select @dt = GetDate()
select
convert(datetime, convert(int, SubString(convert(binary(8), @dt), 1, 4)))
select
dateadd(dd, datediff(dd, "", @dt), "")
← →
Ega23 © (2004-04-14 15:59) [6]Зачем та сложно?
@MyDate=Cast(Cast(@MyDate as int) as datetime)
← →
Ega23 © (2004-04-14 15:59) [6]Зачем та сложно?
@MyDate=Cast(Cast(@MyDate as int) as datetime)
← →
Fay © (2004-04-14 16:07) [7]2Ega23 © (14.04.04 15:59) [6]
Проверь "20040101 12:00:01.000" и "20040101 11:59:59.000"
8)
← →
Fay © (2004-04-14 16:07) [7]2Ega23 © (14.04.04 15:59) [6]
Проверь "20040101 12:00:01.000" и "20040101 11:59:59.000"
8)
← →
bushmen © (2004-04-14 16:12) [8]А не проще ли так:
select convert(varchar(10), dat1, 104) + " 00:00:00.000" from table1
?
← →
bushmen © (2004-04-14 16:12) [8]А не проще ли так:
select convert(varchar(10), dat1, 104) + " 00:00:00.000" from table1
?
← →
Fay © (2004-04-14 16:14) [9]2bushmen © (14.04.04 16:12) [8]
Если скорость не волнует, то м.б. и проще...
← →
Fay © (2004-04-14 16:14) [9]2bushmen © (14.04.04 16:12) [8]
Если скорость не волнует, то м.б. и проще...
← →
bushmen © (2004-04-14 16:17) [10]> Fay ©
Что значит, скорость не волнует?
У меня этот вывел 650 000 записей за 3 секунды
← →
bushmen © (2004-04-14 16:17) [10]> Fay ©
Что значит, скорость не волнует?
У меня этот вывел 650 000 записей за 3 секунды
← →
Fay © (2004-04-14 16:19) [11]Все фетчил? Что говорит сравнение?
← →
Fay © (2004-04-14 16:19) [11]Все фетчил? Что говорит сравнение?
← →
Ega23 © (2004-04-14 16:21) [12]Проверь "20040101 12:00:01.000" и "20040101 11:59:59.000"
Да, это что-то я позабыл....
Тогда так:
@dt1=Cast(Round(Cast(@dt1 as float),0,1) as datetime)
← →
Ega23 © (2004-04-14 16:21) [12]Проверь "20040101 12:00:01.000" и "20040101 11:59:59.000"
Да, это что-то я позабыл....
Тогда так:
@dt1=Cast(Round(Cast(@dt1 as float),0,1) as datetime)
← →
Ega23 © (2004-04-14 16:23) [13]Ребят, да о какой скорости спорите?! Человеку параметру входному в процедуре Trunc надо сделать, вот и всё. Какие 650000 записей?
← →
Ega23 © (2004-04-14 16:23) [13]Ребят, да о какой скорости спорите?! Человеку параметру входному в процедуре Trunc надо сделать, вот и всё. Какие 650000 записей?
← →
Johnmen © (2004-04-14 16:24) [14]>Ega23 ©
>Fay ©
Про округление намек ? Тогда@MyDate=Cast(Cast(@MyDate-0.5 as int) as datetime)
← →
Johnmen © (2004-04-14 16:24) [14]>Ega23 ©
>Fay ©
Про округление намек ? Тогда@MyDate=Cast(Cast(@MyDate-0.5 as int) as datetime)
← →
Fay © (2004-04-14 16:25) [15]2Ega23 © (14.04.04 16:23) [13]
Человеку надо "получить параметр типа datetime в самой процедуре без этого времени"
← →
Fay © (2004-04-14 16:25) [15]2Ega23 © (14.04.04 16:23) [13]
Человеку надо "получить параметр типа datetime в самой процедуре без этого времени"
← →
bushmen © (2004-04-14 16:29) [16]>Как мне получить параметр типа datetime в самой процедуре без >этого времени.
>Например:
>передается "01.01.2002 12:10:15.023"
>надо получить "01.01.2002 00:00:00.000"
1) А почему этот параметр на клиенте нельзя подготавливать?
← →
bushmen © (2004-04-14 16:29) [16]>Как мне получить параметр типа datetime в самой процедуре без >этого времени.
>Например:
>передается "01.01.2002 12:10:15.023"
>надо получить "01.01.2002 00:00:00.000"
1) А почему этот параметр на клиенте нельзя подготавливать?
← →
Fay © (2004-04-14 16:32) [17]2Johnmen © (14.04.04 16:24) [14]
Проверь "17530101 00:00:00.000"
← →
Fay © (2004-04-14 16:32) [17]2Johnmen © (14.04.04 16:24) [14]
Проверь "17530101 00:00:00.000"
← →
Johnmen © (2004-04-14 16:35) [18]>Fay © (14.04.04 16:32) [17]
С отрицаловкой не работаю... :)
← →
Johnmen © (2004-04-14 16:35) [18]>Fay © (14.04.04 16:32) [17]
С отрицаловкой не работаю... :)
← →
Fay © (2004-04-14 16:38) [19]Я просто хотел сказать, что есть быстрые правильные способы.
← →
Fay © (2004-04-14 16:38) [19]Я просто хотел сказать, что есть быстрые правильные способы.
← →
Ega23 © (2004-04-14 16:42) [20]"получить параметр типа datetime в самой процедуре без этого времени"
Совершенно правильно! Есть входной параметр типа datetime, он подаётся со временем. Нужно это время "отсечь". Конечно, на клиенте проще Trunc сделать, но ему же в процедуре надо...
← →
Ega23 © (2004-04-14 16:42) [20]"получить параметр типа datetime в самой процедуре без этого времени"
Совершенно правильно! Есть входной параметр типа datetime, он подаётся со временем. Нужно это время "отсечь". Конечно, на клиенте проще Trunc сделать, но ему же в процедуре надо...
← →
AndrewK © (2004-04-14 17:05) [21]Спасибо всем. Все получилось.
Мне действительно надо было отрезать время в процедуре. Я пытаюсь побольше логики выкинуть на серверную часть.
← →
AndrewK © (2004-04-14 17:05) [21]Спасибо всем. Все получилось.
Мне действительно надо было отрезать время в процедуре. Я пытаюсь побольше логики выкинуть на серверную часть.
Страницы: 1 вся ветка
Текущий архив: 2004.04.11;
Скачать: CL | DM;
Память: 0.54 MB
Время: 0.039 c