我需要打印当前日历月作为注册月份的记录.
我用sysdate这个功能.但是,我不确定这是否正确.
我的代码是,
select * from student where sysdate,trunc('mm') = enrolled_month;
Run Code Online (Sandbox Code Playgroud)
我只需要一些方法来使用sysdate函数打印当前月份.
任何形式的帮助将不胜感激.
提前致谢.
我相信你需要的EXTRACT功能:
select *
from student
where enrolled_month = extract(month from sysdate);
Run Code Online (Sandbox Code Playgroud)
这是另一个使用选项TO_CHAR:
SELECT *
FROM student
WHERE TO_CHAR(sysdate, 'Month') = enrolled_month;
Run Code Online (Sandbox Code Playgroud)
但我认为将注册月份名称(可能还有其他组件)与注册日期分开存储并不是一个好主意.只需存储一次日期,然后使用Oracle的日期函数来处理该数据.
小智 5
您可以使用
SELECT TO_CHAR(SYSDATE, 'MON') FROM DUAL;
Run Code Online (Sandbox Code Playgroud)
要么
SELECT TO_CHAR(SYSDATE, 'MM') FROM DUAL;
Run Code Online (Sandbox Code Playgroud)
要么
SELECT EXTRACT(MONTH FROM SYSDATE) FROM DUAL;
Run Code Online (Sandbox Code Playgroud)
但是,如果您的学生表包含超过一年的数据,您可能还需要考虑年份.
| 归档时间: |
|
| 查看次数: |
120 次 |
| 最近记录: |