在SQL Server 里的日期数据,我们经常可以用 字段<=’2008-5-20’这样的表达式,但在oracle却不可以,因为数据类型不一样 字段是date型,’2008-5-20’是字符型,需要用to_char 或者to_number转换成相同的类型才能进行比较。
刚开始这让我觉得不习惯,觉得不好,不过时间长了,觉得也有不少便利之处,尤其是配合trunc啊,to_char之类的,下面简单写一下常用的一些对日期的操作

获取当前的系统时间:select sysdate from dual         结果:2013-10-23 19:33:07

获取当前的日期 :  select trunc(sysdate) from dual   结果:2013-10-23 00:00:00

获取当年的第一天:select trunc(sysdate,'YYYY') from dual   结果:2013-1-1 00:00:00

获取当月的第一天:select TRUNC(SYSDATE,'mm')  from dual  结果:2013-10-01 00:00:00

取当前时间秒部分:Select to_char(sysdate,’ss’) from dual     显示当前的秒

获取当前秒小时部分:Select to_char(sysdate,'hh24') from dual  显示当前的小时

获取当前的日期部分:Select to_char(sysdate,'dd') from dual

Select to_char(sysdate,'mm') from dual

Select to_char(sysdate,'yyyy') from dual

获取当前是本月第几周:Select to_char(sysdate,'w') from dual

获取当前时间是本年第几周:Select to_char(sysdate,'ww') from dual  (从1.1开始算)

取当前时间是本年第几周:Select to_char(sysdate,'iw') from dual  (按实际日历的)

取当前时间是一周的第几天,从星期天开始,周六结束  Select to_char(sysdate,’d’) from dual

取当前日是星期几,和数据库设置的字符集有关,会输出’Tuesday’:Select to_char(sysdate,'day') from dual 

当前日是一年中的第几天:Select to_char(sysdate,'ddd') from dual

取一年后的今天  Select Add_months(sysdate,12) from dual

取两个日期之间的天数 Select sysdate-(sysdate-100) from dual

取两个日期之间的分钟数 Select (sysdate-(sysdate-100))*1440 from dual

取两个日期之间的秒数 Select (sysdate-(sysdate-100))*1440*60 from dual

取两个日期间隔的月份 Select months_between(sysdate,sysdate-100) from dual

取当前月的最后天 Select last_day(sysdate) from dual

取当前日之后第一个星期天,里面的’1’表示取星期日,如果今天正好是星期日,则会显示下一个星期日 Select next_day(sysdate,’1’) from dual

SQL语句中关于日期的操作(非常的有用)的更多相关文章

  1. 存储过程往拼接的sql语句中传递日期值

    存储过程往拼接的sql语句中传递日期值 declare @start datetime declare @end datetime set @start='2014-3-1' set @end='20 ...

  2. [转载]SQL语句中的日期计算

    1. 本月的第一天SELECT  DATEADD(mm,  DATEDIFF(mm,0,getdate()),  0) 2. 本月的最后一天SELECT  dateadd(ms,-3,DATEADD( ...

  3. SQL语句中的日期查询

    我们先创建一个表: CREATE TABLE `student` ( `id` INT NOT NULL AUTO_INCREMENT , `name` VARCHAR(10) NULL COMMEN ...

  4. SQL语句中日期的计算方法大全

    sql语句中的日期处理一.日期處理函數1.日期增減函數 dateadd(datepart,number,dtae) datepart:是規定應向日期的哪一部分返回新值的參數.下列是sql server ...

  5. sql语句中获取datetime的日期部分或时间部分

    sql语句中获取datetime的日期部分 sql语句中 经常操作操作datetime类型数据.今天在写一个存储过程的时候需要将 一个datetime的值的 日期部分提取出来.网上有许多这方面的介绍. ...

  6. SQL点滴2—重温sql语句中的join操作

    原文:SQL点滴2-重温sql语句中的join操作 1.join语句 Sql join语句用来合并两个或多个表中的记录.ANSI标准SQL语句中有四种JOIN:INNER,OUTER,LEFTER,R ...

  7. MyBatis 中实现SQL语句中in的操作 (11)

    MyBatis 中实现SQL语句中in的操作 概括:应用myBatis实现SQL查询中IN的操作 1.数据库结构及其数据 2.mapper.xml文件 <?xml version="1 ...

  8. sql语句中获取datetime任何部分

    sql语句中获取datetime的日期部分 sql语句中 经常操作操作datetime类型数据.今天在写一个存储过程的时候需要将 一个datetime的值的 日期部分提取出来.网上有许多这方面的介绍. ...

  9. (转载)总结一下SQL语句中引号(')、quotedstr()、('')、format()在SQL语句中的用法

    总结一下SQL语句中引号(').quotedstr().('').format()在SQL语句中的用法 总结一下SQL语句中引号(').quotedstr().('').format()在SQL语句中 ...

随机推荐

  1. 解压jdk报错gzip: stdin: not in gzip format

    0x00 报错截图 0x01 下载方式 下载地址是直接在oracle官网[复制链接地址]获得. 0x02 解决问题 查看一下下载的文件 发现下载下来的是HTML文件. 然后就去oracle官网抓包看了 ...

  2. Vue 源码解读(11)—— render helper

    前言 上一篇文章 Vue 源码解读(10)-- 编译器 之 生成渲染函数 最后讲到组件更新时,需要先执行编译器生成的渲染函数得到组件的 vnode. 渲染函数之所以能生成 vnode 是通过其中的 _ ...

  3. 4. Java流程控制

    4.Java流程控制 4.1.用户交互Scanner 之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户的输入.java.util.Scann ...

  4. thinkphp 添加数据

    ....控制器方法返回视图 public function create() { // return view(); } ...............表单页面 <!DOCTYPE html&g ...

  5. php 23种设计模型 - 建造者模式

    建造者模式(Builder) 建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象.这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式. 一个 Bu ...

  6. 打靶笔记-02-vulhub-Hackademic.RTB1

    打靶笔记-02-vulhub-Hackademic.RTB1 一.靶机信息 Name: Hackademic: RTB1(中等难度) Date release: 6 Sep 2011 Author: ...

  7. LGP4287题解

    小清新 manacher 题.题意清楚. 首先看到回文,自然而然地就去想 manacher 了.先想想,manacher 到底在干嘛? manacher 做的其实是一个暴力,枚举每一个位置最远能够伸到 ...

  8. NET 中反射的用法

    1.   反射的学习 A.反射的定义 B.反射举例 namespace Com.Meteor.Interface { public interface IHelper { void Query(); ...

  9. OpenCores注册步骤和成功提交

    一  OpenCores 网站简介,这个是全世界最大的FPGA开源IP核网站.由于最近在学习USB2.0host control IP,所以想去网上下载相关的IP例程学习.通过搜索发现,有两个网站十分 ...

  10. SINAMICS S120的核心控制单元CU320使用教程,电机模块接线

    SINAMICS是西门子公司新一代的驱动产品,它正在逐步取代现有的MASTERDRIVES及SIMODRIVE系列的驱动系统.SINAMICS S120是集V/f控制.矢量控制和伺服控制于一体的多轴驱 ...