怎么写程序根据sys时间打印愿望?

How to write a program to print the wishes based on the sys time?

在 PL/SQL 块中,我想根据输入的系统时间打印 'Good Morning'、'Good Noon'、'Good Eve'。
如果时间是早上 6 点到中午 12 点,那么它必须打印 GOOD MORNING 否则如果 它介于中午 12 点到下午 2 点之间 它必须打印 GOOD NOON 否则如果它必须打印 GOOD EVE。所以任何人都可以给我这个想法? 提前感谢大家给我的指导

您可以创建一个过程或函数来查看 24 小时格式的时间。

SELECT TO_CHAR(SYSDATE, HH24:MI:SS') INTO sysDate FROM dual;

这里sysDate是24小时格式的当前时间。
然后看一个时间是否在某个时间跨度内。

我想,你知道匿名块的样子(下面的提醒):

DECLARE
  -- variables' / constants' / types' / etc. declarations
BEGIN
  -- logic
END;
/

您可以按如下方式创建 DATE 变量或常量:

l_in_date <CONSTANT> DATE := TO_DATE(<date>,<date_mask>);

然后就可以使用IF..THEN语句,根据条件打印出结果(http://www.techonthenet.com/oracle/loops/if_then.php):

IF <condition> THEN
  -- logic
ELSIF <condition> THEN
  -- logic
ELSE
  -- logic
END IF;

我相信,您应该能够使用以上信息轻松创建匿名块。