Вопрос

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

Это было полезно?

Решение 12

Нашёл решение от здесь

Это получает последнюю секунду предыдущего дня:

DateAdd("s",-1,DateAdd("d",1,Today())

Это возвращает последнюю секунду предыдущей недели:

=dateadd("d", -Weekday(Now), (DateAdd("s",-1,DateAdd("d",1,Today()))))

Другие советы

Что-то вроде этого:

=FormatDateTime(Now, DateFormat.ShortDate) 

Где «Сейчас» можно заменить именем поля даты и времени, которое вы пытаетесь преобразовать.)
Например,

=FormatDateTime(Fields!StartDate.Value, DateFormat.ShortDate)

Поскольку SSRS использует VB, вы можете сделать следующее:

=Today() 'returns date only

Если бы вы использовали:

=Now() 'returns date and current timestamp
=CDate(Now).ToString("dd/MM/yyyy")

Хотя вы жестко кодируете формат даты для локали.

Если вам нужно отобразить поле в заголовке отчета, попробуйте это...Щелкните правой кнопкой мыши по текстовому полю > Свойства > Категория > дата > выберите *Формат (обратите внимание, что при этом сохранятся региональные настройки).

Поскольку этот вопрос рассматривался много раз, я публикую его...Надеюсь, поможет.

enter image description here

Просто используйте DateValue(Now) если вы хотите, чтобы результат был DateTime тип данных.

Если ожидаемый формат данных MM-dd-yyyy тогда попробуй ниже,

=CDate(Now).ToString("MM-dd-yyyy")

Точно так же вы можете попробовать это,

=Format(Today(),"MM-dd-yyyy") 

Выход: 02-04-2016

Примечание:
Now() покажу тебе текущая дата и отметка времени

Today() покажу тебе Дата только не временная часть.

Также вы можете установить любой формат даты вместо MM-dd-yyyy в моем примере.

В свойстве формата любого поля текстового поля вы можете использовать строки формата:

напримерД/М/Г, Д и т. д.

Одна вещь, которая может помочь другим, это то, что вы можете разместить: =CDate(Now).ToString("dd/MM/yyyy") в свойстве строки формата SSRS, которое можно получить, щелкнув столбец правой кнопкой мыши.Это самый чистый способ сделать это.Тогда ваше выражение не будет слишком большим и его будет сложно визуально «разобрать» :)

    FormatDateTime(Parameter.StartDate.Value)

Я опаздываю в игре, но перепробовал все приведенные выше решения!не удалось заставить его удалить нули в параметре и предоставить мне значение по умолчанию (оно игнорировало форматирование или отображалось пустым).Я использовал SSRS 2005, поэтому боролся с его неуклюжими/глючными проблемами.

Мой обходной путь заключался в добавлении столбца в пользовательскую таблицу [DimDate] в моей базе данных, из которой я извлекал даты.Я добавил столбец, который представлял собой строковое представление в желаемом формате столбца [дата].Затем я создал 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()
                     )

Мое решение для параметра даты/времени:

=CDate(Today())

Хитрость заключается в том, чтобы преобразовать обратно в DateTime, как рекомендует Perhentian.

Просто объедините строку в конец значения:

Fields!<your field>.Value & " " 'test' 

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

Это должно быть сделано в наборе данных.Ты мог бы сделать это

Select CAST(CAST(YourDateTime as date) AS Varchar(11)) as DateColumnName

В SSRS Макет, просто сделай это =Fields!DateColumnName.Value

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top