根据我的问题,你可以得出结论我是NEWBE,但请知道我搜索了各种网站(问汤姆,甲骨文,BC计算等)和Stack Overflow以获得答案,我不知道得到我需要的东西;哪个是询问SYSDATE列的DAY部分的能力:
我使用语句
检索SYSDATE月和日SELECT TO_CHAR (SYSDATE, 'MM-DD')
FROM DUAL;
结果是,例如,06-27。现在我想使用DD值从另一个表中进行SELECT。例如:
SELECT TO_CHAR (SYSDATE, 'MM-DD')
FROM DUAL
WHERE DD = '15'
SELECT *
FROM MY_PERSON_TABLE;
但是,DD在DUAL上不是有效的列名,因此我不确定如何在查询中使用该日期。我尝试在WHEN中使用CASE子句,但我想我更加困惑。
答案 0 :(得分:0)
当天你可以使用DD
SELECT TO_CHAR(SYSDATE, 'DD') FROM DUAL
并且可以从任何表中
SELECT TO_CHAR(SYSDATE, 'DD') FROM MY_PERSON_TABLE
这种情况下的DD不是列,而是日期格式化程序的参数..所以你可以在每个日期列中使用..或系统日期
例如:
SELECT TO_CHAR(SYSDATE, 'DD') FROM MY_PERSON_TABLE
WHERE TO_CHAR(my_column_date , 'DD') = '21'
答案 1 :(得分:0)
如果你想把这一天当作号而不是字符串,那么最简单的方法就是使用EXTRACT
function:
SELECT EXTRACT(day FROM SYSDATE)
FROM DUAL
选择日期作为数字可以使某些操作更容易,例如与现有数据进行比较(因为您不必担心使用零或空格填充等)。