如何编写程序根据 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 时间打印愿望?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 C 中编写与打印节标题的 readelf -S 相同的程序?
点击打印图标时如何编写代码(Web应用程序)从ipad自动查找wifi打印机
如何编写程序打印出 1 和给定 number 之间的所有正整数,在范围的两端交替?