oracle查询日期字段大于某个日期值时sql语句怎么写
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle查询日期字段大于某个日期值时sql语句怎么写相关的知识,希望对你有一定的参考价值。
select * from 表名 where 日期字段> to_date('2016-12-07 08:00:00','yyyy-mm-dd hh24:mi:ss'); 参考技术A 在之前已经大概了解过Mysql数据库和学过相关的Oracle知识点,但是太久没用过Oracle了,就基本忘了...印象中就只有基本的SQL语句和相关一些概念....写下本博文的原因就是记载着Oracle一些以前没注意到的知识点...以后或许会有用...实例与数据库概念
Oracle数据库服务器由两部分组成:
实例:理解为对象,看不见的
数据库:理解为类,看得见的
我们在安装Oracle的时候,已经填写过自己数据库的名称了,一般实例与数据库的名称是一致的...
如果还没有安装Oracle数据库的,可以看一下我其他的博文....
那么我们自带的sqlplus黑色窗口与实例,数据库之间的关系又是什么的呢???我们可以看下图:
Oracle数据库把表、视图等都看成是对象:
Oracle中的null值
Oracle中如果存在字段是null值的话,那么在sqlplus中它是不会显示出来的....如果我们使用null值的数据与其他数据进行运算...那么最终得出的结果都是null值
因此,Oracle提供了NVL(表达式1,表达式2)函数供我们使用,如果表达式1的值为null值,那么就取表达式2的值...当然了,如果表达式1不是null,取的就是表达式1的值
还有值得注意的是:null值不能参数=号运算,null能参数number/date/varchar2类型运算
Oracle提供了 is null关键字来代替=号运算的问题
Oracle中的别名
我们知道在Mysql中如果要用别名的话,需要使用as关键字 ,后面跟着别名就行了....Oracle可以省略as关键字...
并且,一般地,我们使用别名都是用双引号""把别名括起来,Oracle也支持我们直接写别名,但是呢**,如果我们不写双引号,那么我们的别名是不能有空格的**
还有一点的是:Oracle的别名是不能使用单引号来括起来的,Oracle默认认为单引号是字符串类型和日期类型的。
sql怎么讲整型转换为日期型好麻烦!!!
比如整型20110320,难道只能先转层字符串型‘20110320’,再拼接成‘2011-03-20’,最后才能转为日期型? 不能直接从整型转为日期型吗???
当然不行了。整型不能直接转换成时间。可以用一个语句来实现:
declare @a int
set @a=20110320
select convert(datetime,cast(@a as varchar(8)),21) 参考技术A 你是什么数据库呢?
Oracle / DB2 / MySQL 的话, 是可以 整型20110320,先转层字符串型‘20110320’,然后直接转日期型了。
不需要中间那个 拼接成‘2011-03-20’
SQL Server 好像也是可以 不需要中间那个 拼接成‘2011-03-20’ 的。
例如:
1> select CONVERT(DATETIME, '20110320', 112)
2> go
-----------------------
2011-03-20 00:00:00.000
(1 行受影响)
1> 参考技术B sql用convert函数
oracle用to_date和to_char来自:求助得到的回答 参考技术B select cast('20110320' as datetime)
这样不行吗?我这可以啊
select cast(cast(20110320 as varchar(8)) as datetime)
要么就这样本回答被提问者采纳 参考技术C 里面有内置方法的啊,不行的话就只能写方法了
以上是关于oracle查询日期字段大于某个日期值时sql语句怎么写的主要内容,如果未能解决你的问题,请参考以下文章