- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个过程。它采用 Date 类型的日期参数。我想知道的是其他用户将 sysdate 发送到我的过程。他们将 sysdate 发送到我的过程的格式是什么?
例如:01/02/2021 或 01/02/2020 00:00:00(时间戳)
我的程序是否接受所有发送格式?也许 Date 类型将发送格式转换为这种样式 01/02/2020。我不确定。
我的意思是我的日期参数是否接受所有日期格式,因为我想在我的程序中使用没有秒或分钟的日期。
我的程序是
DECLARE
var_P_DATE DATE; (for example : 01/01/2021)
BEGIN
SELECT last_day(var_P_DATE) INTO v_last_day FROM DUAL; (31/01/2021)
if v_last_day = var_P_DATE (it returns false because no second or minutes)
.....
END;
我使用了 DBMS.OUTPUT。我认为日期类型转换就像这样 01/02/2021,我没有收到任何错误,但我不确定。
最佳答案
您的过程只会收到一个date
,因为那是形式参数的数据类型。当过程被调用时,调用者可以提供一个 date
,或者可以隐式转换为 date
的东西(尽管它们不应该;隐式转换通常是一件坏事,特别是来自字符串)。
date
数据类型包括时间部分。如果传递给您的日期不是午夜时间,但您希望忽略该日期,例如 sysdate
,您可以使用 the trunc()
function ,它是默认的 'DD'
格式;而且你不需要select from dual
:
v_last_day := last_day(trunc(var_P_DATE));
如果调用者传入 systimestamp
,那么当您看到它时,它仍然会隐式转换为 date
- 这意味着它会丢失任何小数秒和时区信息,但保留小时、分钟和秒。
日期和时间戳没有任何固有的人类可读格式。可以使用各种格式显示日期 - see the documentation - 显式使用 to_char()
和格式模型,或者隐式使用您的 session 设置。
当你做的时候
dbms_output.put_line(var_P_DATE);
您正在使用 session 的 NLS_DATE_FORMAT
设置将 date
值隐式转换为字符串。因此,不同的用户可能会以不同的格式看到它。你无法控制它。如果您想查看特定格式,请指定该格式,例如:
dbms_output.put_line(to_char(var_P_DATE, 'YYYY-MM-DD'));
您也无法控制调用者是否看到该输出 - 这取决于应用程序/客户端及其设置。看起来您可能只是用它来调试比较问题,所以这在这里可能无关紧要。
作为演示:
declare
var_P_DATE date := sysdate;
v_last_day date;
begin
v_last_day := last_day(var_P_DATE);
dbms_output.put_line(to_char(v_last_day, 'YYYY-MM-DD HH24:MI:SS'));
v_last_day := last_day(trunc(var_P_DATE));
dbms_output.put_line(to_char(v_last_day, 'YYYY-MM-DD HH24:MI:SS'));
end;
/
2021-02-28 09:59:02
2021-02-28 00:00:00
关于oracle - 如何理解给定的 sysdate 是日期或时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66257219/
给定一个带有多个 date_time 戳的字符串,我想 提取第一个戳及其前面的文本 候选字符串可以有一个或多个时间戳 后续的 date_time 戳记将被 sep="-" 隔开 后续date_time
是否可以合并从相机拍摄的文本和照片?我想在照片上标记日期和时间,但我在 Google 上找不到任何内容。 最佳答案 使用下面的代码来实现你所需要的。 Bitmap src = Bitm
有没有办法通过 Graph API 戳另一个用户?基于this post ,并使用 Graph Explorer ,我发布到“/USERID/pokes”,我已经授予它(Graph API 应用程序和
我有两个向左浮动的元素。一个是 body 的第一个 child ,另一个是容器的第一个 child ,容器是 body 的第二个 child 。 ...
我是一名优秀的程序员,十分优秀!