一般我们用select sysdate from dual可以获得系统时间。这里是个date型的数据,但是格式不能指定。
用select to_char(sysdate,'YYYY-MM-DD') from dual可以获得指定格式,但是是varchar型的数据。
用select to_date(to_char(sysdate,'YYYY-MM-DD'),'YYYY-MM-DD') from dual既可以指定格式,也是date型的数据。但是我觉得这个SQL很麻烦。请问有没有简单一点的方法?
用select to_char(sysdate,'YYYY-MM-DD') from dual可以获得指定格式,但是是varchar型的数据。
用select to_date(to_char(sysdate,'YYYY-MM-DD'),'YYYY-MM-DD') from dual既可以指定格式,也是date型的数据。但是我觉得这个SQL很麻烦。请问有没有简单一点的方法?
解决方案 »
- 紧急求助~ORA-01033: ORACLE initialization or shutdown in progress
- 很奇怪的sql语句的问题,高手速度来
- 求会oracle和mysql的大神,帮我把下面的oracle语句用mysql语句来表达!
- Oracle与SQL转换的问题
- ORA-12537:TNS连接已关闭
- oracle两个很尴尬的问题
- 一条SQL语句中包含多个INSERT INTO语句,要如何连接才是正确结束????
- 过程中执行execute immediate问题
- 无法为表空间YXKFILE中的段创建 INITIAL 扩展块 如何解决??大侠救命!!
- 请问,我的存储过程的返回值为某个表的%ROWTYPE,我想在PRO*C中调用这个存储过程,如何定义它的返回值才能调用,谢谢
- oracle命令如何用一个字符替换指定位置的字符,帖子中详细描述
- 命令提示符下一个恶心的问题
alter session set nls_date_format='yyyy-mm-dd';
或者在数据库级,执行:
alter system set nls_date_format='yyyy-mm-dd'; --对当前数据库所有session均有效。
--------------
18-3月 -10SQL> alter session set nls_date_format='yyyy-mm-dd';会话已更改。SQL> select sysdate from dual;SYSDATE
----------
2010-03-18SQL> select sysdate+1 from dual;SYSDATE+1
----------
2010-03-19SQL>
UP,建议使用alter system...alter session...每一次登陆数据库都必须重新执行一次才有效
因为这个数据库,我的用户只有查询权限。