powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как сделать из GETDATE()
19 сообщений из 19, страница 1 из 1
Как сделать из GETDATE()
    #32049445
Kesha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как сделать из GETDATE() int 091002 ?
09-day
10 -month
02-year
...
Рейтинг: 0 / 0
Как сделать из GETDATE()
    #32049450
Фотография Jimmy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
select 
    datepart(year, getdate())* 10000  + 
        datepart(month, getdate())* 100  + 
        datepart(day, getdate())
...
Рейтинг: 0 / 0
Как сделать из GETDATE()
    #32049452
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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
Как сделать из GETDATE()
    #32049455
Kesha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да но получается наоборот и мне надо от года только последние две цифры
...
Рейтинг: 0 / 0
Как сделать из GETDATE()
    #32049458
vadim_march
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
declare @d smalldatetime
set @d = getdate()
select day(@d)* 10000  + month(@d)* 100  + year(@d)% 100 
...
Рейтинг: 0 / 0
Как сделать из GETDATE()
    #32049459
Kesha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Spasibo Cat2
...
Рейтинг: 0 / 0
Как сделать из GETDATE()
    #32049461
Breakneck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А так, по-моему, проще и лучше...

select cast(cast(day(getdate()) as varchar(2)) +
cast(month(getdate())as varchar(2))+
cast(year(getdate())as varchar)as int)
...
Рейтинг: 0 / 0
Как сделать из GETDATE()
    #32049463
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или так
Код: plaintext
1.
select convert(int, replace(convert(varchar,getdate(),  3 ), '/', ''))
...
Рейтинг: 0 / 0
Как сделать из GETDATE()
    #32049464
Фотография Alexes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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
Как сделать из GETDATE()
    #32049467
vadim_march
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мой вариант - чистый int безо всяких конвертов
...
Рейтинг: 0 / 0
Как сделать из GETDATE()
    #32049469
Kesha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vsem Ogromnoe spasibo
...
Рейтинг: 0 / 0
Как сделать из GETDATE()
    #32049478
Breakneck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Kesha: Какой вариант понравился больше? :-))
2 Vadim_march: побейте меня камнями, если мой вариант не похож на чистый int...
...
Рейтинг: 0 / 0
Как сделать из GETDATE()
    #32049481
Kesha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я попробую разные варианты , кстати мне ещё надо добавить спереди номер
149100902 ?
...
Рейтинг: 0 / 0
Как сделать из GETDATE()
    #32049485
Фотография VVG_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы год вперед ставил а число назад, чтобы сортировать удобнее было.
...
Рейтинг: 0 / 0
Как сделать из GETDATE()
    #32049486
Breakneck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда будет выглядеть так:
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
Как сделать из GETDATE()
    #32049491
Kesha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Breakneck:У тебя год из четырёх цифр .
...
Рейтинг: 0 / 0
Как сделать из GETDATE()
    #32049503
Breakneck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда так:
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
Как сделать из GETDATE()
    #32049508
vadim_march
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kesha, тебе int или bigint нужен для функций min(), max()?
...
Рейтинг: 0 / 0
Как сделать из GETDATE()
    #32051163
MaxK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
19 сообщений из 19, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как сделать из GETDATE()
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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