SELECT COUNT(*) FROM payment WHERE(TO_CHAR(payment_date, 'Day')) = 'Monday'
46scxncf1#
TO_CHAR(payment_date, 'Day') 返回填充有空格的字符串( 'Monday ' ).要抑制空格,请使用 FM 修饰符(“填充模式”)
TO_CHAR(payment_date, 'Day')
'Monday '
FM
SELECT COUNT(*) FROM payment WHERE (TO_CHAR(payment_date, 'FMDay')) = 'Monday'
或者明确使用 trim() ```SELECT COUNT(*)FROM paymentWHERE (trim(TO_CHAR(payment_date, 'Day'))) = 'Monday'
trim()
但是,我建议不要使用特定于语言环境的值(在我的计算机上,上面的值总是返回0,因为我有不同的语言设置)。 使用数字,例如 `extract(isodow from ..)` 更可靠。
zdwk9cvp2#
也, SELECT COUNT(*) FROM payment WHERE EXTRACT(dow FROM payment_date) = 1
SELECT COUNT(*) FROM payment WHERE EXTRACT(dow FROM payment_date) = 1
esbemjvw3#
使用道琼斯指数(星期几)。一周中的某一天(0-6;星期日为0)(仅适用于时间戳值)
SELECT COUNT(*) FROM payment WHERE EXTRACT(DOW FROM payment_date)= 1;
有关道琼斯指数的更多详情,请查看文档。
3条答案
按热度按时间46scxncf1#
TO_CHAR(payment_date, 'Day')
返回填充有空格的字符串('Monday '
).要抑制空格,请使用
FM
修饰符(“填充模式”)或者明确使用
trim()
```SELECT COUNT(*)
FROM payment
WHERE (trim(TO_CHAR(payment_date, 'Day'))) = 'Monday'
zdwk9cvp2#
也,
SELECT COUNT(*) FROM payment WHERE EXTRACT(dow FROM payment_date) = 1
esbemjvw3#
使用道琼斯指数(星期几)。
一周中的某一天(0-6;星期日为0)(仅适用于时间戳值)
有关道琼斯指数的更多详情,请查看文档。