只是想知道是否有人可以帮我设置报表的日期变量,以便每年在特定日期之间运行,而无需手动更新。
例如,我在下面对日期进行了硬编码,但我想知道是否可以设置日期格式,以确定2017年的日期是否会发生变化。我认为有一种方法可以设置年度日期格式,我只是不确定如何。
这是我设置的硬编码变量。 输入错误的日期范围如下所示。
set @start_date = '2016-01-02';
set @end_date = '2017-01-01';
以下是我在where子句中的内容。
and create_date between @start_date and @end_date
答案 0 :(得分:0)
您的范围涵盖一年中的所有日期, 1月1日除外。所以你可以简单地查看日期和月份:
WHERE NOT (DAY(create_date) = 1 AND MONTH(create_date) = 1)
答案 1 :(得分:0)
你走了。
declare @s datetime, @e datetime
set @s=cast(cast(year(getdate()) as char(4))+'-01-02' as date)
set @e=cast(cast(year(getdate()) as char(4))+'-12-31' as date)
select @s,@e
最诚挚的问候,
KARTHIK
答案 2 :(得分:0)
设置@start_date = CAST(CAST(YEAR(getdate())AS nvarchar(4))+'0102'AS DATETIME);
获得当年年底
SET @end_date = DATEADD(day,-1,DATEADD(month,13 - MONTH(getdate()),DATEADD(day,1 - DAY(getdate()),getdate())));
答案 3 :(得分:0)
我假设您想要基于“今天”的完整“当前年度”
的MySQL
select
DATEADD(YEAR, DATEDIFF(YEAR, 0, GETDATE()) , 0) This_year_start
, DATEADD(YEAR, DATEDIFF(YEAR, -1, GETDATE()), 0) Next_year_start
This_year_start Next_year_start
01.01.2016 00:00:00 01.01.2017 00:00:00
用以下方法测试:
between
SQL Server(tsql)
case ExpressionType.Conditional:
var ce = expr.Body as ConditionalExpression;
var cond = (MemberExpression)ce.Test;
me = (MemberExpression) (ce != null && (bool)(Expression.Lambda(cond).Compile().DynamicInvoke()) ? ce.IfTrue : ce.IfFalse);
break;
用以下方法测试:
apt-get install php5-dev make build-essential pslib-dev libgd-dev php5-gd
pecl install ps-1.3.7
echo "extension=ps.so" > /etc/php5/mods-available/ps.ini
php5enmod ps
请避免使用@Override public Integer create(List<EventDto> events) {
作为日期范围。使用&gt; =和&lt;的组合会更安全。
e.g。 其中create_date&gt; ='2016-01-01'和create_date&lt; '2017年1月1日'
使用这种方法,无论何时适用于[create_date]中的数据,您都将获得所需的精确信息范围。