oracle中声明date类型吗,oracle数据库中输入date类型的数据

本文介绍了如何在Oracle数据库中正确更新date类型字段,使用to_date函数插入并格式化时间。同时,展示了查询时间的不同方法,包括查询错误和正确使用to_char函数。此外,还提及了Oracle与MySQL中日期处理的差异以及日期比较的最佳实践。

给oracle数据库已有记录中更新date类型的数据:

插入date类型的格式:to_date('2016-01-03 12-23-19','yyyy-mm-dd hh24-mi-ss');

2016-01-03 12-23-19:表示想要插入的时间

yyyy-mm-dd hh24-mi-ss:时间格式,前面为年-月-日,后面为时-分-秒

总之插入的时间格式要与时间格式一致:20160103 122319对应格式yyyymmdd hh24miss

SQL> update student set time=(to_date('2016-01-2 06:00:07','yyyy-mm-dd hh12:mi:ss'));

插入完成后,我们查询得到:

SQL> select * from student;

SID             SNAME                             SAGE                   SSEX       TIME

--------------------------------------- --------------- --------------------------------------- ---------- -----------

2                 张三                                    20                           男         2016/1/2 6:

3                 李四                                    20                           男         2016/1/2 6:

4                 王五                                    22                           男         2016/1/2 6:

5                 李玲                                    21                           女         2016/1/2 6:

6                 安琪                                    19                           女         2016/1/2 6:

7                 美嘉                                     21                          女         2016/1/2 6:

1                 王楠                                     18                          女         2016/1/2 6:

8                 王楠                                     23                          女         2016/1/2 6:

我们发现小时后面的分和秒并没有显示出来,在网上查找原因得到的答案是:这个不是你能控制的,可以在相关工具上进行显示设置,程序上也必须做一定的格式化处理,至于oracle存储的格式,你是没办法改变的

后面发现,是我们查询日期的方式不对,使用:

SQL> select time from bill;

TIME

-----------

2016/9/24 1

正确的查询时间的语句如下:

SQL> select to_char(bill.time,'yyyy-mm-dd hh24-mi-ss') from bill;

TO_CHAR(BILL.TIME,'YYYY-MM-DDH

------------------------------

2016-09-24 11-25-16

使用to_char方法

在Oracle中查询时间可以使用to_char函数,但是在Mysql中是没有to_char函数的,Mysql中可以使用Date_Format函数,且使用方法和Oracle中的to_char函数一致:Date_Format(time, '格式')

关于oracle中日期的比较:

SQL> desc emp;

Name              Type                 Nullable    Default Comments

--------           ------------               --------         -------    --------

EMPNO         NUMBER(4)

ENAME         VARCHAR2(10)      Y

JOB               VARCHAR2(9)        Y

MGR             NUMBER(4)            Y

HIREDATE   DATE                       Y

SAL                NUMBER(7,2)      Y

COMM           NUMBER(7,2)      Y

DEPTNO      NUMBER(2)         Y

emp表中hiredate就是date类型,举例说明比较方法:

查询出所有1982年之前入职的员工信息:

select  *  from  emp where hiredate

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值