【发布时间】:2016-07-29 20:40:28
【问题描述】:
在选择语句中,我想减去连接日期以确定 OEM 保修标志。我收到错误 ORA-00920:无效的关系运算符。 我在这里错过了什么?
--OEM WARRANTY FROM MFG SERIAL AND RECV DATE
CASE WHEN TO_CHAR(a.RECV_DATE, 'MM/DD/YY') -
TO_CHAR(CASE
WHEN SUBSTR(a.CARD_RECV_SERIAL_NBR, 1, 1) = 'A' THEN '01'
WHEN SUBSTR(a.CARD_RECV_SERIAL_NBR, 1, 1) = 'B' THEN '02'
WHEN SUBSTR(a.CARD_RECV_SERIAL_NBR, 1, 1) = 'C' THEN '03'
WHEN SUBSTR(a.CARD_RECV_SERIAL_NBR, 1, 1) = 'D' THEN '04'
WHEN SUBSTR(a.CARD_RECV_SERIAL_NBR, 1, 1) = 'E' THEN '05'
WHEN SUBSTR(a.CARD_RECV_SERIAL_NBR, 1, 1) = 'F' THEN '06'
WHEN SUBSTR(a.CARD_RECV_SERIAL_NBR, 1, 1) = 'G' THEN '07'
WHEN SUBSTR(a.CARD_RECV_SERIAL_NBR, 1, 1) = 'H' THEN '08'
WHEN SUBSTR(a.CARD_RECV_SERIAL_NBR, 1, 1) = 'J' THEN '09'
WHEN SUBSTR(a.CARD_RECV_SERIAL_NBR, 1, 1) = 'K' THEN '10'
WHEN SUBSTR(a.CARD_RECV_SERIAL_NBR, 1, 1) = 'L' THEN '11'
WHEN SUBSTR(a.CARD_RECV_SERIAL_NBR, 1, 1) = 'M' THEN '12'
ELSE 'FIRST CHAR OF MFG SERIAL INCORRECT' END
||'/' || SUBSTR(a.CARD_RECV_SERIAL_NBR, 10, 2) ||'/'|| SUBSTR(a.CARD_RECV_SERIAL_NBR, 2, 2)), 'MM/DD/YY')
> '365' THEN 'N' ELSE 'Y'
END AS "OEM WARR"
【问题讨论】:
-
请不要将您的问题标题全部大写。就像互联网上的其他任何地方一样,输入全部大写被认为是大喊大叫。没有必要在这里大喊大叫;我们都是非常好的读者。大喊不会让你更快地得到答案,它会使文本更难阅读,而且相当粗鲁和烦人。没有理由在这里大喊大叫来引起注意 - 如果有人可以帮助您,他们会在没有大写字母的情况下帮助您。
-
@mathguy:是的。同时我做到了。您错过了删除标签信息。我的评论仍然有效;应该让张贴者意识到这是不恰当的行为。
-
我总是用全部大写来编写我的脚本,并且觉得它更容易阅读,这是一个见仁见智的问题。我不打算以任何方式大喊大叫或粗鲁,并认为阅读这个论坛的人会“明白”,但显然不是。顺便说一句,大写的唯一帖子是我的代码。当您在编写代码时在智能感知中使用制表符功能时,它默认为全部大写。停止(大喊)拖钓。
-
你的整个标题都是大写字母(我编辑删除)。我可以支持您选择编写脚本的方式;我只是要求您不要用全部大写字母输入您的问题title。停止刻薄并(学会)接受建设性的建议。试图提供帮助并解释网站礼仪不是拖钓。
-
我会把你指向help center,它解释了这个网站是由它的用户管理的,而且这里可以接受的行为不包括人身侮辱或辱骂。请有礼貌。如果您对此处的标准和行为期望感到不快,请随时在其他地方提出您的问题。