oracle数据库里面查询时间并截取字段

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle数据库里面查询时间并截取字段相关的知识,希望对你有一定的参考价值。

里面有一个createtime 创建时间字段
select createtime from table 查询出来的结果是
2012年12月1日 13:45:23
2012年12月3日 13:45:23
2012年12月5日 13:45:23
2012年12月8日 13:45:23
这样的格式
我想查询出来的结果仍然是date类型 显示的结果是
2012-12-01
2012-12-03
2012-12-05
2012-12-08
各位大虾多多帮忙啊 ,我以前一直用SQL Server数据库,明天就要急用了,麻烦大家帮帮忙~

参考技术A 你的 createtime 到底是 date类型,还是 varchar2类型:

如果是date类型,那么:
select to_char(createtime ,'yyyy-mm-dd') from table;

如果是varchar2类型,那么:
select to_char(to_date(createtime,'yyyy年mm月dd日 hh24:mi:ss') ,'yyyy-mm-dd') from table;
参考技术B 先用to_char,再用to_date,语句如下:
select to_date(to_char(createtime, 'yyyy-mm-dd'), 'yyyy-mm-dd') from table;
参考技术C 可以使用to_char或trunk函数。
例:select to_char(createtime,'yyyy-mm-dd') from table
select trunk(createtime) from table追问

用trunk函数 报错 trunk标示符无效
第一个可以,呵呵~

追答

呵呵。打错了,是trunc,是数据截取函数。

本回答被提问者采纳
参考技术D 很简单 ,alter session set nls_date_format='yyyy-mm-dd';
然后再 做 select 查询即可
第5个回答  2012-10-12 oracle 写法,select to_char(createtime,'yyyy-mm-dd') from table 这个就可以实现了

以上是关于oracle数据库里面查询时间并截取字段的主要内容,如果未能解决你的问题,请参考以下文章

我要用oracle根据我截取到的年龄分组,查询显示其它字段,但是不用max(),sum()等聚合函数

oracle的表里有date类字段,如何查询时截取年份?

oracle 11g中怎么将查询指定的数据不在指定的字段方法

oracle sql 截取表中某一字段的部分作为该字段查询结果

急急急,Sql查询一个字段是不是存在某一个值,怎么写查询语句?

oracle截取某一字符串中的全部数字作为另外一个查询语句中in的查询条件,怎么做