将DATEFROMPARTS与RIGHT / CHARINDEX函数一起使用

时间:2019-07-10 19:51:40

标签: mysql sql tsql

好的,所以我要重写一些提供给我的脚本,脚本的一部分是从两个不同的列构造一个日期,其中一个可以包含诸如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)))

0 个答案:

没有答案