SQL时间操作(oracle|mysql)

1.插入时间

 

/* 时间的数据类型为timestamp */

/* MySQL */
INSERT INTO lastlog(LAST) VALUES(CURRENT_TIMESTAMP());

/* Oracle */
insert into lastlog(last) values(to_date('2010-09-09 19:20:20','yyyy-mm-dd hh24:mi:ss'))

 

2.读取时间

 

/* MySQL */
select * from lastlog;

/* Oracel */
select to_char(sysdate,''yyyy-mm-dd hh24:mi:ss'') time from dual;
 


关于Java操作数据库时间

 

SQL 定义了三种与时间有关的数据类型:
DATE 由日、月和年组成。
TIME 由小时、分钟和秒组成。
TIMESTAMP 将 DATE 和 TIME 结合起来,并添加了纳秒域。

标准 Java 类 java.util.Date 可提供日期和时间信息。但由于该类包含 DATE 和 TIME 信息而没有 TIMESTAMP 所需的纳秒,因此并不与上述三种 SQL 类型完全相配。

因此我们定义了 java.util.Date 的三种子类。它们是:
1.有关 SQL DATE 信息的 java.sql.Date
2.有关 SQL TIME 信息的 java.sql.Time
3.有关 SQL TIMESTAMP 信息的 java.sql.Timestamp

对于 java.sql.Time,java.util.Time 基本类的小时、分钟、秒和毫秒域被设置为零。 对于 java.sql.Date,java.util.Date 基本类的年、月和日域被分别设置为 1970 年 1 月 1 日。这是在 Java 新纪元中的“零”日期。java.sql.date中的日期可以和标准的SQL语句中含有日期的字段进行比较.java.sql.Timestamp 类通过添加纳秒域来扩展 java.util.Date。

 

1.oracle默认的系统时间就是sysdate函数,储存的数据形如25-3-200510:55:33
2.java 中取时间的对象是java.util.Date。
3.oracle中对应的时间对象是java.util.Date,java.sql.Time,java.sql.Timestamp、它们都是是java.util.Date的子类。
4.oracle中与date操作关系最大的就是两个转换函数:to_date(),to_char()。to_date()一般用于写入日期到数据库时用到的函数。to_char()一般用于从数据库读入日期时用到的函数。

 

最后3个对学习有帮助的SQL语句:

 

select * from tpu_change where changed_id in
(
select max(t.changed_id) from tpu_change t where pid is not null group by t.pid
) and pid=23930007 ;

select * from
(
select t.*,row_number()over(partition by pid order by changed_id desc) r from tpu_change t where pid is not null
)
where r=1 and pid=23930007

select pid,count(1) cnt from tpu_change group by pid having count(1)>=2 order by 2 desc
 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值