如何编写程序根据 sys 时间打印愿望?

Posted

技术标签:

【中文标题】如何编写程序根据 sys 时间打印愿望?【英文标题】:How to write a program to print the wishes based on the sys time? 【发布时间】:2015-07-14 15:46:32 【问题描述】:

在 PL/SQL 块中,我想根据输入的系统时间打印“早安”、“中午好”、“晚安”。 如果时间是早上 6 点到下午 12 点,那么它必须打印 GOOD MORNING 否则如果 它位于下午 12 点到下午 2 点之间 它必须打印 GOOD NOON 否则,如果它必须打印 GOOD EVE。所以任何人都可以给我的想法? 提前感谢所有给我指导的人。

【问题讨论】:

请发布您到目前为止所尝试的内容。 在控制结构中使用日期/时间函数 @kittykittybangbang Wishes Program:(开始 if to_char(sysdate,'hh24:mm:ss') 在 to_char('08:00:00') 和 to_char(') 之间12:00:00') 然后 dbms_output.put_line('Gud Mrg'); elsif --------其他条件---------- else dbms_output.put_line('Gud Nt'); end if; end; / )_它将按照我的预期给出输出。_ 【参考方案1】:

我想,你知道匿名区块长什么样子(提醒如下):

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;

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

【讨论】:

【参考方案2】:

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

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

这里的sysDate 是24 小时格式的当前时间。 然后查看时间是否在特定时间跨度内。

【讨论】:

很酷,非常感谢......我不知道那种 HH Mm Ss 格式......所以现在我有了一个清晰的想法。

以上是关于如何编写程序根据 sys 时间打印愿望?的主要内容,如果未能解决你的问题,请参考以下文章

如何编写一个 Haskell 程序来打印指定数字的素数?

如何在 C 中编写与打印节标题的 readelf -S 相同的程序?

点击打印图标时如何编写代码(Web应用程序)从ipad自动查找wifi打印机

如何编写程序打印出 1 和给定 number 之间的所有正整数,在范围的两端交替?

ZZNUOJ_用C语言编写程序实现1559:打印一颗树(附完整源码)

ZZNUOJ_用C语言编写程序实现1559:打印一颗树(附完整源码)