好的,所以我正在重写一些提供给我的脚本,其中一部分脚本是从两个不同的列构建一个日期,其中一个列可能包含诸如此类的数据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 来获取 之后的值,|但如果它不存在,则整个日期字段为空。在我发疯之前,我需要另一双眼睛。
当前 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)))