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

Откуда: Москва
Сообщений: 215
Доброго дня!
Можно ли короче описать нижеозначенную конструкцию?

declare @i int
select @i=9

select replicate('0',2-len(convert(varchar(2),@i)))+convert(varchar(2),@i)
3 дек 15, 16:45    [18509527]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшить длину скрипта  [new]
Glory
Member

Откуда:
Сообщений: 104751
select '09'
3 дек 15, 16:47    [18509543]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшить длину скрипта  [new]
AlanDenton
Member [скрыт]

Откуда:
Сообщений: 1004
DECLARE @i INT = 9
SELECT RIGHT('00' + CAST(@i AS VARCHAR(10)), 2)


Glory, +1
3 дек 15, 16:53    [18509594]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшить длину скрипта  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8805
:)
select FORMAT(9,'00')
3 дек 15, 16:56    [18509610]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшить длину скрипта  [new]
Azvaal
Member

Откуда: Москва
Сообщений: 215
Glory,

ну зачем хамить, если я напишу
select @i = day(getdate)
- вам станет легче?
3 дек 15, 16:59    [18509633]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшить длину скрипта  [new]
Azvaal
Member

Откуда: Москва
Сообщений: 215
Владислав Колосов,
Сообщение 195, уровень 15, состояние 10, строка 1
'FORMAT' is not a recognized built-in function name.
3 дек 15, 17:01    [18509651]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшить длину скрипта  [new]
Azvaal
Member

Откуда: Москва
Сообщений: 215
select @@version


Microsoft SQL Server 2005 - 9.00.5069.00 (X64)   Aug 22 2012 18:02:46   Copyright (c) 1988-2005 Microsoft Corporation  Standard Edition (64-bit) on Windows NT 5.2 (Build 3790: Service Pack 2) 
3 дек 15, 17:02    [18509664]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшить длину скрипта  [new]
Glory
Member

Откуда:
Сообщений: 104751
Azvaal
ну зачем хамить, если я напишу
select @i = day(getdate)

- вам станет легче?

Вы поставили задачу - "написать короче". Что вас не устраивает в предлженном решении ?
Или вам "хорошие манеры" не позволяют ставить задачи ?
3 дек 15, 17:03    [18509672]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшить длину скрипта  [new]
Azvaal
Member

Откуда: Москва
Сообщений: 215
Glory,

с этим понятно.

Есть поле типа INT, в котором числом хранится дата (по факту, предысторию не знаю). К примеру сегодня будет 20151203 - то есть 20 миллионов 151 тысяча 203.

Как иначе\короче можно конвертнуть данное значение в текстовое поле типа 03/12/2015 ?
declate @dateint int
select @dateint = 20151203
select  convert(varchar,convert(datetime,convert(varchar,@dateint)),103)
3 дек 15, 17:35    [18509902]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшить длину скрипта  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8805
Azvaal,

select convert(char(10),cast(str(20151203) as datetime),101)
3 дек 15, 18:13    [18510116]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшить длину скрипта  [new]
andandrew
Member

Откуда:
Сообщений: 2224
select right('0'+'12',2)
7 дек 15, 02:42    [18521800]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить