首页 > 解决方案 > 从时间戳中选择日期或月份并分配给变量

问题描述

我有一个包含数百行的表,我想在变量中分配第一行的日期,在其他变量中也是一个月。该列是时间戳格式。

现在我有一个这样的存储过程,但我认为它不起作用。

CREATE OR REPLACE PROCEDURE AUTO_FLTER_BY_DATE IS
startDay number;
startMonth number;
endDay number;
endMonth number;
BEGIN
    SELECT EXTRACT(DAY FROM tstamp) INTO startDay FROM "SYSTEM"."TEST_DATES";
    DBMS_OUTPUT.PUT_LINE(startDay);
END AUTO_FLTER_BY_DATE;

这是时间戳列的示例

01-FEB-20 01.30.05.024000000 AM

标签: sqloraclestored-procedurestimestamp

解决方案


您可以简单地执行以下操作

to_char(tstamp, 'DAY')

CREATE OR REPLACE PROCEDURE AUTO_FLTER_BY_DATE IS
startDay number;
startMonth number;
endDay number;
endMonth number;
BEGIN
    SELECT to_char(tstamp, 'DAY') INTO startDay FROM "SYSTEM"."TEST_DATES";
    DBMS_OUTPUT.PUT_LINE(startDay);
END AUTO_FLTER_BY_DATE;

推荐阅读