Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как сделать из GETDATE() / 19 сообщений из 19, страница 1 из 1
10.09.2002, 16:50:10
    #32049445
Kesha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать из GETDATE()
Как сделать из GETDATE() int 091002 ?
09-day
10 -month
02-year
...
Рейтинг: 0 / 0
10.09.2002, 16:55:56
    #32049450
Jimmy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать из GETDATE()
Код: plaintext
1.
2.
3.
select 
    datepart(year, getdate())* 10000  + 
        datepart(month, getdate())* 100  + 
        datepart(day, getdate())
...
Рейтинг: 0 / 0
10.09.2002, 16:58:52
    #32049452
Cat2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать из GETDATE()
Код: plaintext
1.
2.
3.
declare @s char( 8 )
set @s=convert(char( 8 ),getdate(), 12 )
set @s=substring(@s, 5 , 2 )+substring(@s, 3 , 2 )+substring(@s, 1 , 2 )
select @s

А нафига?
...
Рейтинг: 0 / 0
10.09.2002, 17:03:51
    #32049455
Kesha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать из GETDATE()
Да но получается наоборот и мне надо от года только последние две цифры
...
Рейтинг: 0 / 0
10.09.2002, 17:06:59
    #32049458
vadim_march
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать из GETDATE()
Код: plaintext
1.
2.
declare @d smalldatetime
set @d = getdate()
select day(@d)* 10000  + month(@d)* 100  + year(@d)% 100 
...
Рейтинг: 0 / 0
10.09.2002, 17:07:24
    #32049459
Kesha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать из GETDATE()
Spasibo Cat2
...
Рейтинг: 0 / 0
10.09.2002, 17:08:40
    #32049461
Breakneck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать из GETDATE()
А так, по-моему, проще и лучше...

select cast(cast(day(getdate()) as varchar(2)) +
cast(month(getdate())as varchar(2))+
cast(year(getdate())as varchar)as int)
...
Рейтинг: 0 / 0
10.09.2002, 17:09:03
    #32049463
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать из GETDATE()
Или так
Код: plaintext
1.
select convert(int, replace(convert(varchar,getdate(),  3 ), '/', ''))
...
Рейтинг: 0 / 0
10.09.2002, 17:09:03
    #32049464
Alexes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать из GETDATE()
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
declare @dt datetime,@i int
set @dt=getdate()
вариант  1 
set @i=cast(right('0'+cast(day(@dt) as varchar( 2 )), 2 )+right('0'+cast(month(@dt) as varchar( 2 )), 2 )+right(cast(year(@dt) as varchar( 4 )), 2 ) as int)
вариант  2 
set @i=cast(replace(convert(varchar,@dt, 4 ),'.','') as int)
вариант  3 
set @i=cast(stuff(stuff(convert(varchar,@dt, 4 ), 6 , 1 ,''), 3 , 1 ,'') as int)


Но в любом случае, если день меньше 10, то нуля впереди не будет. Так что придется конвертировать в varchar etc
...
Рейтинг: 0 / 0
10.09.2002, 17:13:33
    #32049467
vadim_march
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать из GETDATE()
мой вариант - чистый int безо всяких конвертов
...
Рейтинг: 0 / 0
10.09.2002, 17:16:26
    #32049469
Kesha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать из GETDATE()
Vsem Ogromnoe spasibo
...
Рейтинг: 0 / 0
10.09.2002, 17:28:31
    #32049478
Breakneck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать из GETDATE()
2 Kesha: Какой вариант понравился больше? :-))
2 Vadim_march: побейте меня камнями, если мой вариант не похож на чистый int...
...
Рейтинг: 0 / 0
10.09.2002, 17:33:58
    #32049481
Kesha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать из GETDATE()
Я попробую разные варианты , кстати мне ещё надо добавить спереди номер
149100902 ?
...
Рейтинг: 0 / 0
10.09.2002, 17:38:23
    #32049485
VVG_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать из GETDATE()
Я бы год вперед ставил а число назад, чтобы сортировать удобнее было.
...
Рейтинг: 0 / 0
10.09.2002, 17:40:08
    #32049486
Breakneck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать из GETDATE()
Тогда будет выглядеть так:
select cast('149100902'+cast(day(getdate()) as varchar(2)) + cast(month(getdate())as varchar(2))+
cast(year(getdate())as varchar)as bigint)

В обычный int, кстати, уже не влезет в этом случае... Нужен BigInt.

Вот тут-то вариант vadim_march уже не прокатывает (хотя он очень элегантен)...
...
Рейтинг: 0 / 0
10.09.2002, 17:45:38
    #32049491
Kesha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать из GETDATE()
Breakneck:У тебя год из четырёх цифр .
...
Рейтинг: 0 / 0
10.09.2002, 17:59:18
    #32049503
Breakneck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать из GETDATE()
Тогда так:
select convert(bigint,'149100902'+
cast(day(getdate()) as varchar(2)) +
cast(month(getdate())as varchar(2))+
right(cast(year(getdate()) as varchar),2))
...
Рейтинг: 0 / 0
10.09.2002, 18:06:23
    #32049508
vadim_march
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать из GETDATE()
Kesha, тебе int или bigint нужен для функций min(), max()?
...
Рейтинг: 0 / 0
17.09.2002, 21:22:21
    #32051163
MaxK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать из GETDATE()
Breakneck это ж почему вариант vadim_march непрокатывает

declare @d smalldatetime
set @d = getdate()
select 1491009021000000+day(@d)*10000 + month(@d)*100 + year(@d)%100

или что правильней

declare @d smalldatetime
declare @s bigint
set @d = getdate()
set @s= 149100902
select @s*1000000+day(@d)*10000 + month(@d)*100 + year(@d)%100
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как сделать из GETDATE() / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]