#sql-server-2008
#sql-server-2008
Вопрос:
Я пытаюсь извлечь @variable в инструкции select.
пример:
DECLARE @STARTDATE DATE
SELECT @STARTDATE = '8/1/2013'
DECLARE @ENDDATE DATE
SELECT @STARTDATE = '8/31/2013'
SELECT 'Results for DOS Serving' @STARTDATE 'to' @EndDate
Пожалуйста, любая помощь?
Спасибо.
Комментарии:
1. Что-то вроде: Результаты для DOS, обслуживаемой с 8/1/2013 по 31/8/2013
2. Вы получаете сообщение об ошибке?? Если да, скажите нам, что. Я могу предположить, что вы видите «1 августа 2013» вместо «8/1/2013» — это верно?
Ответ №1:
Вы не можете просто добавить строковые данные и даты. Сначала вам необходимо преобразовать ваши даты в строковый тип данных. (Кроме того, в вашем коде вы никогда не устанавливаете @ENDDATE.
Что-то вроде этого должно приблизить вас.
DECLARE @STARTDATE DATE
SELECT @STARTDATE = '8/1/2013'
DECLARE @ENDDATE DATE
SELECT @ENDDATE = '8/31/2013'
SELECT 'Results for DOS Serving ' CONVERT(varchar, @STARTDATE, 110) ' to ' CONVERT(varchar, @EndDate, 110)
Ответ №2:
DECLARE @STARTDATE DATE
SET @STARTDATE = '8/1/2013'
DECLARE @ENDDATE DATE
SET @ENDDATE = '8/31/2013'
SELECT 'Results for DOS Serving ' CONVERT(varchar(20), @STARTDATE, 110) ' to ' CONVERT(varchar(20), @EndDate, 110)
Комментарии:
1. Не могли бы вы, пожалуйста, добавить некоторое объяснение того, почему ваш код устраняет проблему?