Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Помогите преобразовать дату в чило  [new]
Badim
Member

Откуда:
Сообщений: 57
в таблице даты храняться в формате

2007-11-22 12:10:00.000

а надо выдать в запросе в виде

200711221210

т.е. все в месте с точностью до минут

пробовал SELECT CONVERT(CHAR(20), StartTime, 120) AS Expr1

но он выдает только дату без времени
31 июл 09, 10:00    [7482767]     Ответить | Цитировать Сообщить модератору
 Re: Помогите преобразовать дату в чило  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
declare @dt datetime; set @dt = '20071122 12:10:00.000'

select stuff(convert(char(8), @dt, 112) + convert(char(5), @dt, 108), 11, 1, '') as result

result
-------------
200711221210

(1 row(s) affected)
31 июл 09, 10:04    [7482781]     Ответить | Цитировать Сообщить модератору
 Re: Помогите преобразовать дату в чило  [new]
bacalavr
Member

Откуда:
Сообщений: 311
select replace(convert(varchar(1005),getdate(),112)+convert(varchar(1005),getdate(),108),':','')
31 июл 09, 10:05    [7482789]     Ответить | Цитировать Сообщить модератору
 Re: Помогите преобразовать дату в чило  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
SELECT REPLACE(REPLACE(REPLACE(CONVERT(CHAR(16), GETDATE(),126),'T',''),'-',''),':','')
31 июл 09, 10:10    [7482817]     Ответить | Цитировать Сообщить модератору
 Re: Помогите преобразовать дату в чило  [new]
Badim
Member

Откуда:
Сообщений: 57
Огомное спасибо

(открыл для себя функцию stuff)
31 июл 09, 10:15    [7482851]     Ответить | Цитировать Сообщить модератору
 Re: Помогите преобразовать дату в чило  [new]
aleks2
Guest
В число же просили

declare @dt datetime; set @dt = '20071122 12:10:00.000'

select 
           cast(datepart(minute,@dt) as bigint)
+100*      cast(datepart(hour,@dt) as bigint)
+10000*    cast(datepart(day,@dt) as bigint)
+1000000*  cast(datepart(month,@dt) as bigint)
+100000000*cast(datepart(year,@dt) as bigint)
31 июл 09, 10:18    [7482879]     Ответить | Цитировать Сообщить модератору
 Re: Помогите преобразовать дату в чило  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
aleks2
В число же просили
ну... в число можно не только Вашим методом
declare @dt datetime; set @dt = '20071122 12:10:00.000'

select cast(stuff(convert(char(8), @dt, 112) + convert(char(5), @dt, 108), 11, 1, '') as bigint) as result

result
--------------------
200711221210

(1 row(s) affected)
31 июл 09, 10:22    [7482911]     Ответить | Цитировать Сообщить модератору
 Re: Помогите преобразовать дату в чило  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
aleks2
В число же просили
Где?
31 июл 09, 10:23    [7482928]     Ответить | Цитировать Сообщить модератору
 Re: Помогите преобразовать дату в чило  [new]
aleks2
Guest
iap
aleks2
В число же просили
Где?

В заголовке темы.
31 июл 09, 10:26    [7482946]     Ответить | Цитировать Сообщить модератору
 Re: Помогите преобразовать дату в чило  [new]
Glory
Member

Откуда:
Сообщений: 104760
iap
aleks2
В число же просили
Где?

В названии топика
31 июл 09, 10:26    [7482950]     Ответить | Цитировать Сообщить модератору
 Re: Помогите преобразовать дату в чило  [new]
Badim
Member

Откуда:
Сообщений: 57
Главное для меня была проблема согнать все цифры в кучу, а предобразовать в число и во чтонибудь другое это уже вторичная задача.
Главное сделано.
31 июл 09, 10:29    [7482972]     Ответить | Цитировать Сообщить модератору
 Re: Помогите преобразовать дату в чило  [new]
vino
Member

Откуда:
Сообщений: 1191
Badim, у Паганеля вариант очень хорош, хотя я бы сделал чуть по другому
convert(char(8), @dt, 112) + stuff(convert(char(5), @dt, 108), 3, 1, '')
31 июл 09, 11:58    [7483686]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить