0 sql oracle oracle-sql-data-modeler
我正在尝试在 oracle SQL 中将已经存在的日期从 ('DD,MON,YY') 修改为 ('DD,MONTH,YYYY') 但它对我不起作用
ALTER TABLE EMP MODIFY (hiredate to_date ('DD,MON,YYYY'))
Run Code Online (Sandbox Code Playgroud)
这是一种常见的误解,认为数据库中的日期具有格式。
您不能修改DATE数据类型值的格式,因为它没有格式;它以7 个字节存储在数据库中:2 表示年,1 表示月、日、时、分和秒,并且始终具有这些组件,它们只是数字。数据库不关心格式;它只关心价值观。
您用来访问数据库的客户端软件关心格式,因为它必须与您(用户)交谈,而您通常不喜欢收到大量数字,客户端软件会尝试为您格式化日期。
如果你想问:
我们如何让 <insert name of SQL client software here> 更改它用于显示
DATE数据类型的默认格式?
对于 SQL/Plus 和 SQL Developer,您可以使用NLS_DATE_FORMATsession 参数:
ALTER SESSION SET NLS_DATE_FORMAT = 'DD,MONTH,YYYY';
Run Code Online (Sandbox Code Playgroud)
如果您使用不同的软件与数据库对话,那么您将需要阅读该软件的手册/文档。
或者,如果您想问:
我们如何
DATE以特定格式显示表格中的值?
SELECT与TO_CHAR函数一起使用:
SELECT TO_CHAR( date_column, 'DD,MONTH,YYYY' ) AS formatted_date_column
FROM table_name;
Run Code Online (Sandbox Code Playgroud)