oracale to_char用法

 数据库中时间字段是无法直接向字符串字段一样直接使用where条件查询的,赋值时也无法直接set,需要用到to_char,to_date两个函数进行转换:
(1)SELECT * FROM NMCSMC.NM_MIDTRANS_***_VAL l WHERE "TO_CHAR(COL_TIME,'yyyyMMdd HH')='20170727 12' ;

where "TO_CHAR"(COL_TIME,'yyyyMMddHH')='2017072712' 

表达式的意思:将COL_TIME字段转换为'yyyyMMddHH'的格式,在where条件中使用。

COL_TIME字段为精确到秒的时间字段,

在查询时需要筛选精确到小时的时间,故COL_TIME字段的时间在查询时不能直接在where条件里是使用,所以用to_char方法先将COL_TIME转换为精确到小时的格式.

(2)SELECT * FROM NMCSMC.NM_MIDTRANS_100_VAL l WHERE "TO_CHAR"(COL_TIME,'yyyyMMdd')='20170727';

col_time为精确到秒的时间字段,我们只需要查到日,则用to_char转换,将时间格式转为'yyyyMMdd',这样就可以直接使用where查询条件。

to_char函数为将日期转换为字符;



(3)UPDATE NM_UCAPES_100_VAL l SET l.CREATED="TO_DATE"('2017-07-27 10:00:00', 'yyyy-mm-dd hh24:mi:ss') WHERE l.VAR_DATE='20170727' AND l.STATE=41;

SELECT * FROM NMCSMC.NM_MIDTRANS_100_VAL l WHERE "TO_CHAR"(COL_TIME,'yyyyMMdd')='20170726';

将100_val表中条件内的created字段的时间都设置为2017-07-27 10:00:00,但是数据库中不能直接设置这种时间格式,所以需要用to_date函数,对其进行转换。

to_date函数为将字符转换为日期;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值