Подтвердить что ты не робот

Службы Reporting Services Удаляют время из DateTime в выражении

Я пытаюсь заполнить выражение (значение по умолчанию для параметра) с явным временем. Как удалить время из функции "сейчас"?

4b9b3361

Ответ 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' 

и это должно сработать!