我只需要从 crdd 和 schedule date 中选择 2018 年的记录

Posted

技术标签:

【中文标题】我只需要从 crdd 和 schedule date 中选择 2018 年的记录【英文标题】:I need to select only the 2018 records from the crdd and schedule date 【发布时间】:2018-03-15 13:57:01 【问题描述】:

我只需要从 crdd 和计划日期中选择 2018 年的记录。这是我当前的查询:

Select distinct t1.inbound_ship_appointment_id as ISA,
    t1.STANDARD_CARRIER_ALPHA_CODE as carrier_name,
    t1.current_appt_start as scheduled_date,
    t1.WAREHOUSE_ID as FC,
    t2.carrier_req_del_date_local as crdd,
    datediff(days, t1.current_appt_start , t2.carrier_req_del_date_local)
from d_fc_appointment_details t1
join o_appointment_visibility t2
    on t1.inbound_ship_appointment_id= t2.inbound_ship_appointment_id
where t1.STANDARD_CARRIER_ALPHA_CODE in (
   'AZIM','BTIU','HJBI','HUBG','PGLI','SCDS','SWIF','XAMS','XHMC','XHME',
   'XHMM','XJMN','XJMW') 
   OR t1.STANDARD_CARRIER_ALPHA_CODE LIKE '%IMP%

请指教

【问题讨论】:

您是否尝试过限制所选行? 你需要稍微格式化你的代码,它很难阅读 no .. 我只想过滤掉 2018 年的记录 【参考方案1】:

您好,您可以使用这条线获取年份

EXTRACT(YEAR FROM '2008-05-15') As year

【讨论】:

我的意思是我只想过滤掉 2018 年的值 嗨,如果您使用上面的代码,您可以获得像 (2018) 这样的年份并将其放在条件位置【参考方案2】:

用途:

WHERE YEAR(t1.current_appt_start) = YEAR(2018)

由于您使用的是 or 运算符,因此您必须:

WHERE (
    t1.STANDARD_CARRIER_ALPHA_CODE in ([...]) 
    OR t1.STANDARD_CARRIER_ALPHA_CODE LIKE '%IMP%'
) AND YEAR(t1.current_appt_start) = YEAR(2018)

https://***.com/a/27745487/3208151

【讨论】:

您好,谢谢。 YEAR 函数在 Redshift 中有效吗? 你使用了mysql标签,所以它可以在mysql环境下工作。请更新标签以读取 Redshift。如果是红移,请看:docs.aws.amazon.com/redshift/latest/dg/r_DATE_PART_YEAR.html Jared 你现在可以检查一次吗? redshift 中的 YEAR 函数别名是什么。或者如何过滤掉 crdd 和 schedule_date 列中的 2018 年值。 我提供了上面函数的链接。

以上是关于我只需要从 crdd 和 schedule date 中选择 2018 年的记录的主要内容,如果未能解决你的问题,请参考以下文章

DHTMLX Scheduler Month 仅查看事件计数

Kendo UI (Scheduler) - 为每个事件添加唯一的 css 类

Saltstack之Scheduler

从 r 中的日期中仅提取季度

Kendo UI Scheduler:仅删除/编辑/更新指定的事件

如何更改 DataTables 中排序箭头的颜色