sql – 将to_char(myDate,’DAY’)的结果与字符串进行比较时出现
发布时间:2020-12-12 16:23:02 所属栏目:MsSql教程 来源:网络整理
导读:我一直试图找到问题所在,但我只是运气不好,根本不理解这个问题.我有以下代码: CREATE OR REPLACE FUNCTION ckeckDay(dateC in date)RETURN VARCHARIS day VARCHAR(15); checkFriday VARCHAR(1);BEGIN checkFriday := 'N'; day := to_char(dateC,'DAY'); IF d
我一直试图找到问题所在,但我只是运气不好,根本不理解这个问题.我有以下代码:
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; / dateC设置为星期五(甚至通过返回day而不是day变量进行测试,它返回星期五.)然而IF语句永远不会评估为true,即使day变量确实是星期五.任何想法如何绕过这个问题.谢谢 解决方法这是因为day变量包含空白填充值.使用trim函数去除前导和尾随空格:IF trim(day) = 'FRIDAY' THEN checkFriday := 'Y'; END IF; 请使用VARCHAR2数据类型作为字符串变量.不要使用VARCHAR. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |