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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在oracle中以dd / mm / yyyy格式将当前日期插入DATE字段相关的知识,希望对你有一定的参考价值。

我的表中有一个字段,数据类型为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中的内置类型,它以固定的方式表示,您无法控制它。

所以:

我希望它插入[...]作为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或日期文字。

另一答案

或者,如果要检索DATE字段的日期部分,可以使用truncate,即

select to_char(trunc(sysdate),'dd/mm/yyyy') from dual;
另一答案

当列为DATE类型时,您可以使用以下内容:

Insert into your_table(your_date_column) Select TRUNC(SYSDATE) from DUAL;

这将从SYSDATE中删除时间部分。

另一答案

也许这可以帮助

insert into pasok values ('&kode_pasok','&kode_barang','&kode_suplier',
to_date('&tanggal_pasok','dd-mm-yyyy'),&jumlah_pasok);

注意:'&'帮助我们再次插入数据,插入/结束比输入再插入示例:输入kode_pembelian的值:BEL-E005输入kode_barang的值:ELK-02输入kode_customer的值:B-0001 old 2:' &kode_pembelian','&kode_barang','&kode_customer',new 2:'BEL-E005','ELK-02','B-0001',输入tanggal_pembelian的值:24-06-2002输入jumlah_pembelian的值:2 old 3 :to_date('&tanggal_pembelian','dd-mm-yyyy'),&jumlah_pembelian)new 3:to_date('24 -06-2002','dd-mm-yyyy'),2)

已创建1行。

SQL> /(输入)

以上是关于如何在oracle中以dd / mm / yyyy格式将当前日期插入DATE字段的主要内容,如果未能解决你的问题,请参考以下文章

如何在Java中以字符串格式获取当前时间戳? “yyyy.MM.dd.HH.mm.ss”

将应用程序发布到 IIS 时,如何在 MVC 中以 dd/mm/yyyy 格式绑定日期时间?

如何在 Java 中以 YYYY-MM-DD HH:MI:Sec.Millisecond 格式获取当前时间?

在 Python 中以 YYYY-MM-DD 获取今天的日期?

在 SQL 中以 YYYY-MM-DD 格式显示日期

在 Pig 中以 yyyy-mm-dd 格式获取今天的日期