gpt4 book ai didi

oracle - PL/SQL 检查日期是否有效

转载 作者:行者123 更新时间:2023-12-02 00:57:02 25 4
gpt4 key购买 nike

如果我在 PL/SQL 中有一个日期格式 DDMM 并且我想验证它。正确的做法是什么?

DD 是日,MM 是蛾。

For an example:
0208 - is a valid date
3209 - is not a valid date
0113 - is not a valid date.

最佳答案

例如,您可以编写一个像这样的函数:

create or replace function is_valid(p_val in varchar2)
return number
is
not_a_valid_day exception;
not_a_valid_month exception;
pragma exception_init(not_a_valid_day, -1847);
pragma exception_init(not_a_valid_month, -1843);
l_date date;
begin
l_date := to_date(p_val, 'ddmm');
return 1;
exception
when not_a_valid_day or not_a_valid_month
then return 0;
end;



SQL> with test_dates(dt) as(
2 select '0208' from dual union all
3 select '3209' from dual union all
4 select '0113' from dual
5 )
6 select dt, is_valid(dt) as valid
7 from test_dates
8 /

DT VALID
---- ----------
0208 1
3209 0
0113 0

关于oracle - PL/SQL 检查日期是否有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14524448/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com