好的,所以我要重写一些提供给我的脚本,脚本的一部分是从两个不同的列构造一个日期,其中一个可以包含诸如3|15
这样的数据,然后日期与今天的日期进行比较。
原始查询部分:
CASE WHEN rs.RecurrencePattern = 'Monthly' AND DAYDIFF((CreateDate(GetYear(rs.ws_wg_mig_start_date),GetMonth(rs.ws_wg_mig_start_date), toint(StrParts(rs.RecurrencePatternParms, '|',1)))),(now())) < 0 THEN GetMonth(rs.ws_wg_mig_start_date)+1
我认为这是MySQL,但我不确定。我正在尝试在SQL Server中重新创建它,到目前为止,我正在使用DATEFROMPARTS并将所有内容串在一起。我正在使用NULLIF(CHARINDEX)来获取|
之后的值,但是如果它不存在,则整个日期字段为null。在我疯狂之前,我需要另一双眼睛。>
当前SQL代码:
DATEFROMPARTS(datepart(year,rs.ws_wg_mig_start_date),datepart(month,rs.ws_wg_mig_start_date),Convert(int,Right(recurrence_pattern_params, NULLIF(CHARINDEX('|', reverse(recurrence_pattern_params)),0)-1)))