gpt4 book ai didi

Oracle 奇怪行为字符串与星期几的比较

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

虽然下面的代码打印“错误的星期四”,(10-FEB 是星期四)

BEGIN
IF to_char(to_date('10-FEB-2011','DD-MON-YYYY'),'Day')='Thursday' THEN
dbms_output.put_line('Correct');

ELSE
dbms_output.put_line('Wrong '||to_char(to_date('10-FEB-2011','DD-MON-YYYY'),'Day'));
END IF;
END;

以下打印“正确”,(09-FEB 是星期三)

BEGIN
IF to_char(to_date('09-FEB-2011','DD-MON-YYYY'),'Day')='Wednesday' THEN
dbms_output.put_line('Correct');

ELSE
dbms_output.put_line('Wrong '||to_char(to_date('09-FEB-2011','DD-MON-YYYY'),'Day'));
END IF;
END;

我一直试图解决这个问题,但我做不到。任何帮助将非常感激。提前致谢。

最佳答案

to_char默认情况下是空格填充的:

SQL> BEGIN
2 dbms_output.put_line('x' ||
3 to_char(to_date('10-FEB-2011','DD-MON-YYYY'),'Day')||
4 'x');
5 END;
6 /

xThursday x

使用修饰符fm防止填充:

SQL> BEGIN
2 IF to_char(to_date('10-FEB-2011','DD-MON-YYYY'),'fmDay')='Thursday' THEN
3 dbms_output.put_line('Correct');
4 ELSE
5 dbms_output.put_line('Wrong '||to_char(to_date('10-FEB-2011','DD-MON-YYYY'),'fmDay'));
6 END IF;
7 END;
8 /

Correct

PL/SQL procedure successfully completed

关于Oracle 奇怪行为字符串与星期几的比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4944880/

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