Я пытаюсь заполнить выражение (значение по умолчанию для параметра) с явным временем. Как удалить время из функции "сейчас"?
Службы Reporting Services Удаляют время из DateTime в выражении
Ответ 1
Нашел решение от здесь
Это последняя секунда предыдущего дня:
DateAdd("s",-1,DateAdd("d",1,Today())
Это возвращает последнюю секунду предыдущей недели:
=dateadd("d", -Weekday(Now), (DateAdd("s",-1,DateAdd("d",1,Today()))))
Ответ 2
Что-то вроде этого:
=FormatDateTime(Now, DateFormat.ShortDate)
Где "Сейчас" можно заменить именем поля даты/времени, которое вы пытаетесь преобразовать.)
Например,
=FormatDateTime(Fields!StartDate.Value, DateFormat.ShortDate)
Ответ 3
Поскольку SSRS использует VB, вы можете сделать следующее:
=Today() 'returns date only
Если вы должны были использовать:
=Now() 'returns date and current timestamp
Ответ 4
=CDate(Now).ToString("dd/MM/yyyy")
Хотя вы жестко кодируете форму даты в локали.
Ответ 5
Если вам нужно отобразить поле в заголовке отчета, попробуйте это... RightClick on Textbox > Properties > Category > date > select * Format (Обратите внимание, что это сохранит региональные настройки).
Поскольку этот вопрос просматривался много раз, я отправляю его... Надеюсь, это поможет.
Ответ 6
Просто используйте DateValue(Now)
, если вы хотите, чтобы результат имел тип данных DateTime
.
Ответ 7
В свойстве format любого поля текстового поля вы можете использовать строки формата:
например. D/M/Y, D и т.д.
Ответ 8
Если ожидаемый формат данных MM-dd-yyyy
, попробуйте ниже,
=CDate(Now).ToString("MM-dd-yyyy")
Аналогичным образом вы можете попробовать это,
=Format(Today(),"MM-dd-yyyy")
Выход: 02-04-2016
Примечание:
Now()
покажет вам текущую дату и метку времени
Today()
покажет вам Дата только не время.
Также вы можете установить любой формат даты вместо MM-dd-yyyy
в моем примере.
Ответ 9
Одна вещь, которая может помочь другим, заключается в том, что вы можете поместить: =CDate(Now).ToString("dd/MM/yyyy")
в свойство String формата SSRS, которое можно получить, щелкнув правой кнопкой мыши на столбце. Это самый чистый способ сделать это. Тогда ваше выражение не будет слишком большим и трудно визуально "разобрать":)
Ответ 10
FormatDateTime(Parameter.StartDate.Value)
Ответ 11
Я опаздываю в игре, но я пробовал все вышеперечисленные решения! не смог заставить его сбросить нуль в параметре и дать мне по умолчанию (он проигнорировал форматирование или появился пустым). Я использовал SSRS 2005, поэтому боролся с его неуклюжими/проблемными проблемами.
Мое обходное решение состояло в том, чтобы добавить столбец в пользовательскую таблицу [DimDate] в моей базе данных, из которой я извлекал даты. Я добавил столбец, который был строковым представлением в желаемом формате столбца [date]. Затем я создал 2 новых набора данных в SSRS, которые вытащили следующие запросы для двух значений по умолчанию для моих значений "Кому" и "От" по умолчанию -
'из'
SELECT Datestring
FROM dbo.dimDate
WHERE [date] = ( SELECT MAX(date)
FROM dbo.dimdate
WHERE date < DATEADD(month, -3, GETDATE()
)
'на'
SELECT Datestring
FROM dbo.dimDate
WHERE [date] = ( SELECT MAX(date)
FROM dbo.dimdate
WHERE date <= GETDATE()
)
Ответ 12
Мое решение для параметра Date/Time:
=CDate(Today())
Хитрость заключается в том, чтобы преобразовать обратно в DateTime, рекомендуя Perhentian.
Ответ 13
Это должно быть сделано в наборе данных. Вы можете сделать это
Select CAST(CAST(YourDateTime as date) AS Varchar(11)) as DateColumnName
В SSRS
Макет, просто сделайте это =Fields!DateColumnName.Value
Ответ 14
Просто конкатенируйте строку до конца значения:
Fields!<your field>.Value & " " 'test'
и это должно сработать!