gpt4 book ai didi

oracle - 如何在oracle中以dd/mm/yyyy格式将当前日期插入到DATE字段中

转载 作者:行者123 更新时间:2023-12-01 15:23:31 33 4
gpt4 key购买 nike

我的表中有一个字段,其数据类型为 Oracle 中的 DATE。我想以 DD/MM/YYYY 格式将当前日期插入该字段。

我尝试了以下查询:

select to_date(to_char(sysdate,'dd/mm/yyyy'),'dd/mm/yyyy') from dual

但是它给出了

1/8/2011 12:00:00 AM.

我希望它插入并显示为

08/01/2011 12:00:00 AM.

有人可以帮我吗?

最佳答案

DATE 是 Oracle 中的内置类型,它以固定方式表示,您无法控制它。

所以:

I want it to insert [...] as 08/01/2011 12:00:00 AM

以上是无稽之谈。您不插入字符串,而是插入日期。

格式只有在你需要的时候才有用:

  • 使用 TO_DATE 将字符串转换为日期的内部表示(格式掩码:如何解析字符串);
  • 使用 TO_CHAR 将日期的内部表示转换为字符串(格式掩码:如何呈现日期)。

基本上,在您的示例中,您采用 DATE,将其转换为具有某种格式的 STRING,然后将其转换回具有相同格式的 DATE。这是一个空操作。

现在,您的客户端显示什么:这是因为您的 Oracle 客户端不会直接显示 DATE 字段,NLS 层将转换任何选定的 DATE 字段。所以默认情况下它取决于您的语言环境。

您想要的是 SELECT TO_CHAR(SYSDATE,'DD/MM/YYYY') FROM dual; 它将显式执行转换并返回一个字符串。

当您想在数据库中插入日期时,可以使用 TO_DATE 或日期文字。

关于oracle - 如何在oracle中以dd/mm/yyyy格式将当前日期插入到DATE字段中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4633271/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com