gpt4 book ai didi

sql - 使用日期在 Oracle 中创建表

转载 作者:行者123 更新时间:2023-12-04 21:50:19 25 4
gpt4 key购买 nike

我想在 Oracle 10g 中创建一个表,并且我想为我的日期列指定日期格式。如果我使用以下语法:

create table datetest(
........
startdate date);

那么日期列将接受我不想要的日期格式DD-MON-YY

我希望我的日期列的语法是 MM-DD-YYYY

请告诉我如何处理。

问候,

最佳答案

DATE 没有固有格式。它不仅仅是一个恰好代表日期的字符串。 Oracle 有自己的内部格式来存储日期值。

当需要将实际日期值转换为字符串时,格式就会发挥作用,反之亦然,这当然经常发生,因为我们以交互方式将日期写为字符串。

数据库的默认日期格式由设置 NLS_DATE_FORMAT 确定,您可能已将其设置为 DD-MON-YYYY(我相信这是默认设置对于美国英语语言环境)。为方便起见,您可以在数据库级别或单个 session 中更改此设置,但通常更安全的编程实践是明确的,这样您就不会遇到错误,或者更糟糕的是,如果您的代码在不同的环境中运行,则会出现错误的结果.

明确指定日期值的最简单方法是使用日期文字,即单词“日期”后跟表示日期的字符串,格式为 YYYY-MM-DD,例如日期'2012-11-13'。 Oracle 解析器直接将其转换为相应的内部日期值。

如果您想使用不同的格式,那么我建议您在代码中明确使用 TO_CHAR/TO_DATE 和所需的格式模型。例子:

INSERT INTO my_table (my_date) VALUES ( TO_DATE( '11-13-2012', 'MM-DD-YYYY' ) );

SELECT TO_CHAR( my_date, 'MM-DD-YYYY' ) FROM my_table;

关于sql - 使用日期在 Oracle 中创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13361040/

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