SELECT COUNT(*)
FROM payment
WHERE(TO_CHAR(payment_date, 'Day')) = 'Monday'
最佳答案
TO_CHAR(payment_date, 'Day')
返回一个用空格填充的字符串 ('Monday '
)。
要抑制空格,请使用 FM
修饰符(“填充模式”)
SELECT COUNT(*)
FROM payment
WHERE (TO_CHAR(payment_date, 'FMDay')) = 'Monday'
或者显式使用 trim()
SELECT COUNT(*)
FROM payment
WHERE (trim(TO_CHAR(payment_date, 'Day'))) = 'Monday'
但是,我建议不要使用特定于语言环境的值(在我的计算机上,上面的值总是返回 0,因为我有不同的语言设置)。
使用数字,例如使用 extract(isodow from ..)
更可靠。
关于sql - 从付款日期栏开始,星期一发生了多少笔付款?下面的代码给我零计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62540961/