将 to_char(myDate, 'DAY') 的结果与字符串进行比较时出现问题

2023-12-20

我一直在试图找出问题所在,但我只是运气不好,根本不理解这个问题。我有以下代码:

CREATE OR REPLACE FUNCTION ckeckDay(dateC in date)
RETURN VARCHAR
IS
  day VARCHAR(15);
  checkFriday VARCHAR(1);
BEGIN
  checkFriday := 'N';
  day := to_char(dateC, 'DAY');
  IF day = 'FRIDAY' THEN
    checkFriday := 'Y';
  END IF;
  RETURN day;
END;
/

the dateC设置为星期五(甚至通过返回来测试它day而不是day变量并在星期五返回。)但是IF语句永远不会计算为 true,即使day变量确实是星期五。有什么想法可以解决这个问题。谢谢


如果您想真正做到这一点,那么您应该将 NLS 设置强制为英语,并应用“填充模式”格式模型 FM 来修剪前导和尾随空格。

If To_Char(DateC,'fmDAY', 'nls_date_language=english') = 'FRIDAY'
Then ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 to_char(myDate, 'DAY') 的结果与字符串进行比较时出现问题 的相关文章

随机推荐