Помещение данных getdate () в строку - PullRequest
0 голосов
/ 11 мая 2011

В sqlserver 2005 я использую этот запрос:

select getdate() или print getdate()

Я хочу использовать эту возвращенную дату в качестве строки, чтобы получить доступ к:

  1. месяц
  2. год (две последние цифры)
  3. дата (например: 01)
  4. время (например: 5:12)

Я хочу объединить все данные.Все это должно быть в строковом формате.

Ответы [ 3 ]

3 голосов
/ 11 мая 2011

Прежде всего: На клиенте должно быть выполнено ВСЕ форматирование.
Теперь, когда нам это удалось, рассмотрим CONVERT и DATEPART functions.
CONVERT предлагает множество стилей, которые вы можете использовать, в то время как DATEPART возвращает часть даты в виде целого числа, которое вы можете преобразовать в varchar.

Просто обратите внимание, что таких функций много наСеть уже есть, поэтому поиск некоторых не будет плохой идеей.

0 голосов
/ 11 мая 2011

Можете ли вы использовать:

SELECT CONVERT(VARCHAR(19), GETDATE(), 120)

, чтобы получить:

2011-05-11 15:02:36

и манипулировать этим?

0 голосов
/ 11 мая 2011

Если у вас уже есть все части в виде строк, вы можете объединить их и использовать CONVERT ()

declare @my_year varchar(4)
declare @my_month varchar(4)
declare @my_day varchar(4)
declare @my_hour varchar(4)
declare @my_minute varchar(4)
declare @my_second varchar(4)

set @my_year = '1900'
set @my_month = '05'
set @my_day = '13'
set @my_hour = '05'
set @my_minute = '12'
set @my_second = '00'

select CONVERT(datetime,@my_year + 
                    @my_month + 
                    @my_day + 
                    ' ' + 
                    @my_hour + ':' + 
                    @my_minute + ':' + 
                    @my_second)
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...