Имя: Пароль:
1C
 
Разложить из ms sql datetime на дату и время
0 syava
 
28.09.10
09:43
Есть БД в MS Sql, в ней поле начала интервала в формате datetime, а в конфигурашке 2 поля, день и час суток. Как разбить datetime на дату и время? Нужен запрос который запрашивает отдельно дату и отдельно время, а после нужно записать их  в регистр в соответствующие поля.
1 ДенисЧ
 
28.09.10
09:44
Use Convert, Yuang Padavan!
2 syava
 
28.09.10
09:50
Чё Convert то? Есть строчка которой разбить можно?
3 Mikeware
 
28.09.10
09:52
(1) Ты не умничай, ты пальцем покажи!© :-)))))
(2) BOL читать не пробовал??? помогает, чесслово...
4 el-gamberro
 
28.09.10
09:52
(2) Строчка есть. Но её никто никто не помнит.
5 Ёпрст
 
гуру
28.09.10
09:53
можно еще Cast
6 ДенисЧ
 
28.09.10
09:53
например
select Event_Date_Time, Convert(varchar(10), Event_Date_Time, 114) AS ВремяСобытия
from table

даст 2 колонки - дату (при выгрузке в 1с) и время в строке.
7 ДенисЧ
 
28.09.10
09:54
Разумеется, Event_Date_Time - типа datetime
8 el-gamberro
 
28.09.10
09:56
DATEPART ( datepart , date )

datepart
Часть переменной типа date (значение даты или времени), имеющая значение типа integer. В следующей таблице перечислены все допустимые аргументы datepart. Эквивалентные переменные, определяемые пользователем, являются недопустимыми.

datepart Сокращения  
year
yy, yyyy

quarter
qq, q

month
mm, m

dayofyear
dy, y

day
dd, d

week
wk, ww

weekday
dw

hour
hh

minute
mi, n

second
ss, s

millisecond
ms

microsecond
mcs

nanosecond
ns

TZoffset
tz

ISO_WEEK
isowk, isoww


date
Выражение, которое можно привести к значению типа time, date, smalldatetime, datetime, datetime2 или datetimeoffset. Параметр date может быть выражением, выражением столбца, определяемой пользователем переменной или строковым литералом.
9 ДенисЧ
 
28.09.10
09:57
(8) А уши ты тоже ногой чешешь? :-))
10 el-gamberro
 
28.09.10
09:59
(9) чего это тебе не нравится?))
нормальная функция)
11 ДенисЧ
 
28.09.10
10:05
(10) Функция нормальная, но излишняя в данном случае
12 CoolCat
 
28.09.10
10:12
(6) не совсем наверное подходит ему
13 ДенисЧ
 
28.09.10
10:13
(12) "Как разбить datetime на дату и время?"
ЧТо просил, то и получил
14 syava
 
28.09.10
10:14
(6) Как раз то что нужно, Спасибо!
15 ДенисЧ
 
28.09.10
10:16
(12) вот видишь... А ты говорил :-)
16 CoolCat
 
28.09.10
10:17
(15) второе поле у тебя  - кривоватое время  получится :)
17 CoolCat
 
28.09.10
10:18
нужно всего варчар8 а не варчар10 :)
18 syava
 
28.09.10
10:22
Главное что на путь истинны вышел:)
19 CoolCat
 
28.09.10
10:23
(18) лови скорее всего так нужно

SELECT     CAST(CONVERT(varchar(8), GETDATE(), 112) AS datetime) AS ДатаСобытия, CONVERT(varchar(8), GETDATE(), 114) AS ВремяСобытия
20 ДенисЧ
 
28.09.10
10:24
(16) УМВР, ЧЯДНТ?
21 syava
 
28.09.10
10:37
(18) Разложить надо имеено так "...AS ДатаСобытия,...  AS ВремяСобытия ", когда делаю запрос (18) Выдаёт ошибку "Неправильный синтаксис около ключевого слова "CONVERT"."
22 МихаилМ
 
28.09.10
10:40
(21)
в скл 2005 все работает
23 CoolCat
 
28.09.10
11:00
(21) посмотри может где скобки провтыкал
24 ДенисЧ
 
28.09.10
11:03
(21) так покажи запрос-то
25 syava
 
28.09.10
11:03
Сорри, моя невнимательность:)
26 syava
 
28.09.10
11:18
ещё задачка, записать нужно только день и час суток :)
27 Кириллка
 
28.09.10
11:38
акуительно удобно программировать на мисте
28 ДенисЧ
 
28.09.10
11:40
(26) тогда datepart ьбери...
29 CoolCat
 
28.09.10
11:41
(26) см (8)

(27) :)
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс