Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Вниз

Как отрезать время в параметре 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.54 MB
Время: 0.036 c
8-1076511716
snake7
2004-02-11 18:01
2004.05.09
Ресурс изображений


1-1082466351
-=DEV=-
2004-04-20 17:05
2004.05.09
Как програмно прокрутить ScrollBar в StringGrid ?


4-1078933712
DVM
2004-03-10 18:48
2004.05.09
OwnerDraw PopupMenu и его рамка


14-1081758739
able
2004-04-12 12:32
2004.05.09
Как убрать ф-цию контроллера домена?


6-1079884056
Asail
2004-03-21 18:47
2004.05.09
Как выполнить удаленный Restart/Shutdown в Delphi?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский