书名:《程序员的SQL 金典》
取得当前日期时间
MYSQL
MYSQL中提供了NOW()函数用于取得当前的日期时间,NOW()函数还有SYSDATE()、 CURRENT_TIMESTAMP等别名。如下: SELECT NOW(),SYSDATE(),CURRENT_TIMESTAMP 执行完毕我们就能在输出结果中看到下面的执行结果: NOW() SYSDATE() CURRENT_TIMESTAMP 2008-01-12 01:13:19 2008-01-12 01:13:19 2008-01-12 01:13:19 如果想得到不包括时间部分的当前日期,则可以使用CURDATE()函数,CURDATE() 函数还有CURRENT_DATE等别名。如下: SELECT CURDATE(),CURRENT_DATE 执行完毕我们就能在输出结果中看到下面的执行结果: CURDATE() CURRENT_DATE 2008-01-12 2008-01-12 如果想得到不包括日期部分的当前时间,则可以使用CURTIME()函数,CURTIME () 函数还有CURRENT_TIME等别名。如下: SELECT CURTIME(),CURRENT_TIME 执行完毕我们就能在输出结果中看到下面的执行结果: CURTIME() CURRENT_TIME 01:17:09 01:17:09
MSQLServer
MSSQLServer 中用于取得当前日期时间的函数为GETDATE()。如下: SELECT GETDATE() as 当前日期时间 执行完毕我们就能在输出结果中看到下面的执行结果: 当前日期时间 2008-01-12 01:02:04.78 可以看到GETDATE()返回的信息是包括了日期、时间(精确到秒以后部分)的时间戳 信息。MSSQLServer 没有专门提供取得当前日期、取得当前时间的函数,不过我们可以将 GETDATE()的返回值进行处理,这里需要借助于Convert()函数,这个函数的详细介绍后面 章节介绍,这里只介绍它在日期处理方面的应用。 使用 CONVERT(VARCHAR(50) ,日期时间值, 101)可以得到日期时间值的日期部分,因 此下面的SQL 语句可以得到当前的日期值: SELECT CONVERT(VARCHAR(50) ,GETDATE( ), 101) as 当前日期 执行完毕我们就能在输出结果中看到下面的执行结果: 当前日期 01/14/2008 使用CONVERT(VARCHAR(50) ,日期时间值, 108)可以得到日期时间值的日期部分,因 此下面的SQL 语句可以得到当前的日期值: SELECT CONVERT(VARCHAR(50) ,GETDATE(), 108) as 当前时间 执行完毕我们就能在输出结果中看到下面的执行结果: 当前时间 21:37:19
Oracle
Oracle 中没有提供取得当前日期时间的函数,不过我们可以到系统表DUAL 中查询 SYSTIMESTAMP的值来得到当前的时间戳。如下: SELECT SYSTIMESTAMP FROM DUAL 执行完毕我们就能在输出结果中看到下面的执行结果: SYSTIMESTAMP 2008-1-14 21.46.42.78000000 8:0 同样,我们可以到系统表DUAL中查询SYSDATE 的值来得到当前日期时间。如下: SELECT SYSDATE FROM DUAL 执行完毕我们就能在输出结果中看到下面的执行结果: SYSDATE 2008-01-14 21:47:16.0 同样,Oracle 中也没有专门提供取得当前日期、取得当前时间的函数,不过我们可以将 SYSDATE 的值进行处理,这里需要借助于TO_CHAR()函数,这个函数的详细介绍后面章节 介绍,这里只介绍它在日期处理方面的应用。 使用 TO_CHAR(时间日期值, 'YYYY-MM-DD') 可以得到日期时间值的日期部分,因此下 面的SQL 语句可以得到当前的日期值: SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD') FROM DUAL 执行完毕我们就能在输出结果中看到下面的执行结果: TO_CHAR(SYSDATE,YYYY-MM-DD) 2008-01-14 使用TO_CHAR(时间日期值, 'HH24:MI:SS') 可以得到日期时间值的时间部分,因此下 面的SQL 语句可以得到当前的日期值: SELECT TO_CHAR(SYSDATE, 'HH24:MI:SS') FROM DUAL 执行完毕我们就能在输出结果中看到下面的执行结果: TO_CHAR(SYSDATE,HH24:MI:SS) 21:56:13
DB2
DB2 中同样没有提供取得当前日期时间的函数,不过我们可以到系统表 SYSIBM.SYSDUMMY1中查询CURRENT TIMESTAMP的值来得到当前时间戳。如下: SELECT CURRENT TIMESTAMP FROM SYSIBM.SYSDUMMY1 执行完毕我们就能在输出结果中看到下面的执行结果: 1 2008-01-14-21.58.20.01515000 从系统表SYSIBM.SYSDUMMY1 中查询CURRENT DATE的值来得到当前日期值。如 下: SELECT CURRENT DATE FROM SYSIBM.SYSDUMMY1 执行完毕我们就能在输出结果中看到下面的执行结果: 1 2008-01-14 从系统表SYSIBM.SYSDUMMY1 中查询CURRENT TIME的值来得到当前日期值。如 下: SELECT CURRENT TIME FROM SYSIBM.SYSDUMMY1 执行完毕我们就能在输出结果中看到下面的执行结果: 1 22:05:48
日期增减
MYSQL
MYSQL中提供了DATE_ADD()函数用于进行日期时间的加法运算,这个函数还有一个别名 为ADDDATE(),DATE_ADD()函数的参数格式如下: DATE_ADD (date,INTERVAL expr type) 其中参数date为待计算的日期;参数expr为待进行加法运算的增量,它可以是数值类型 或者字符串类型,取决于type参数的取值;参数type则为进行加法运算的单位,type参数可 选值以及对应的expr参数的格式如下表: type参数值 expr参数的格式 说明 MICROSECOND 数值类型 以微秒为计算单位 SECOND 数值类型以秒为计算单位 MINUTE 数值类型以分钟为计算单位 HOUR 数值类型以小时为计算单位 DAY 数值类型以天为计算单位 WEEK 数值类型以周为计算单位 MONTH 数值类型以月为计算单位 QUARTER 数值类型以季度为计算单位 YEAR 数值类型以年为计算单位 SECOND_MICROSECOND 字符串类型,格式为: 'SECONDS.MICROSECON DS' 以秒、微秒为计算单位,要求expr参 数必须是“秒.微秒”的格式,比如 “30.10”表示增加30秒10微秒。 MINUTE_MICROSECOND 字符串类型,格式为: 'MINUTES.MICROSECON DS' 以分钟、毫秒为计算单位,要求expr 参数必须是“分钟.微秒”的格式, 比如“30.10”表示增加30分钟10微 秒。 MINUTE_SECOND 字符串类型,格式为: 'MINUTES:SECONDS' 以分钟、秒为计算单位,要求expr参 数必须是“分钟:秒”的格式,比如 “30:10”表示增加30分钟10秒。 HOUR_MICROSECOND 字符串类型,格式为: 'HOURS.MICROSECONDS ' 以小时、微秒为计算单位,要求expr 参数必须是“小时.微秒”的格式, 比如“30.10”表示增加30小时10微 秒。 HOUR_SECOND 字符串类型,格式为: 'HOURS:MINUTES:SECO NDS' 以小时、分钟、秒为计算单位,要求 expr参数必须是“小时:分钟:秒”的 格式,比如“1:30:10”表示增加1小 时30分钟10秒。 HOUR_MINUTE 字符串类型,格式为: 'HOURS:MINUTES' 以小时、秒为计算单位,要求expr参 数必须是“小时:秒”的格式,比如 “30:10”表示增加30小时10秒。 DAY_MICROSECOND 字符串类型,格式为: 'DAYS.MICROSECONDS' 以天、微秒为计算单位,要求expr参 数必须是“天.微秒”的格式,比如 “30.10”表示增加30天10微秒。 DAY_SECOND 字符串类型,格式为: 'DAYS HOURS:MINUTES:SECON DS' 以天、小时、分钟、秒为计算单位, 要求expr参数必须是“天 小时:分钟: 秒”的格式,比如“1 3:28:36”表示 增加1天3小时28分钟36秒。 DAY_MINUTE 字符串类型,格式为: 'DAYS HOURS:MINUTES' 以天、小时、分钟为计算单位,要求 expr参数必须是“天 小时:分钟”的 格式,比如“1 3:15”表示增加1天3 小时15分钟。 DAY_HOUR 字符串类型,格式为: 'DAYS HOURS' 以天、小时为计算单位,要求expr参 数必须是“天 小时”的格式,比如 “30 10”表示增加30天10小时。 YEAR_MONTH 字符串类型,格式为: 'YEARS-MONTHS' 以年、月为计算单位,要求expr参数 必须是“年-月”的格式,比如“2-8” 表示增加2年8个月。
MSSQLServer
MSSQLServer MSSQLServer中提供了DATEADD()函数用于进行日期时间的加法运算, DATEADD ()函数 的参数格式如下: DATEADD (datepart , number, date ) 其中参数date为待计算的日期;参数date制定了用于与 datepart 相加的值,如果指定 了非整数值,则将舍弃该值的小数部分;参数datepart指定要返回新值的日期的组成部分, 下表列出了 Microso SQL Ser ver 2005 可识别的日期部分及其缩写: 取值 别名 说明 year yy,yyyy 年份 quarter qq,q 季度 month mm,m 月份 dayofyear dy,y 当年度的第几天 day dd,d 日 week wk,ww 当年度的第几周 weekday dw,w 星期几 hour hh 小时 minute mi,n 分 second ss,s 秒 millisecond ms 毫秒 比 如DATEADD(DAY, 3,date) 为计算日期date 的3 天后的日期, 而 DATEADD(MONTH ,-8,date)为计算日期date的8 个月之前的日期。 下面的SQL语句用于计算每个人出生后3 年、20 个季度、68 个月以及1000 个周前的 日期: SELECT FBirthDay, DATEADD (YEAR ,3,FBirthDay) as threeyrs, DATEADD(QUARTER ,20,FBirthDay) as ttqutrs, DATEADD(MONTH ,68,FBirthDay) as sxtmonths, DATEADD(WEEK, -1000,FBirthDay) as thweeik FROM T_Person
Oracle
相关推荐
数据库是一种用于存储、检索和管理数据的系统,它允许用户对存储在其中的数据执行各种操作,包括...通过不断地学习和实践,数据库管理员能够确保数据库系统的稳定性、安全性和性能,以满足企业对数据存储和管理的需求。
数据库原理入门知识的学习是一个基础而关键的阶段,对于理解数据管理和信息系统的核心至关重要。本文将深入探讨数据库的基础概念,包括数据库、数据库管理系统、数据模型以及数据的抽象级别。 首先,数据库...
- **主流数据库软件**: - **Oracle**: 主要应用于企业级应用,支持复杂的数据管理和安全性需求。 - **MySQL**: 开源且易于使用的数据库管理系统,广泛应用于中小型项目和Web应用。 - **SQL Server**: 微软提供的...
### Oracle数据库学习笔记知识点 #### 一、Oracle的用户管理 **Oracle认证体系:** - **OCAR (Oracle Certified Associate):** Oracle初级工程师认证,入门级别认证,为后续更高级别的认证打下基础。 - **OCP ...
### 数据库学习笔记知识点梳理 #### 一、数据库基础概念 **1.1 数据库简介** - **文件存储** - 数据存储的历史演变:从手工管理到文件管理再到数据库管理。 - 文件存储的局限性:缺乏整体管理、不易修改、不...
Oracle数据库与其他主流数据库如SQL Server、MySQL、DB2等共同构成了数据库市场的多元化格局。 Oracle数据库在服务中启动,主要的服务启动项包括OracleServiceORACLEE和OracleOraDb10g_home1TNSListener。管理...
本资源笔记详细介绍了数据库的基本概念、数据库管理系统、主流数据库系统、数据库存储数据的种类、数据库命令简介等知识点。 一、为什么使用 SQL 数据库? 数据库又称作数据集合,如果没有数据库管理人员需要一条一...
MySQL学习笔记 数据库基础知识: * 数据库(DB):存储数据的容器。 * 数据库管理系统(DBMS):创建或管理数据库的软件,例如 MySQL、Oracle、SQL Server 等。 SQL 介绍: * 结构化查询语言(SQL):与数据库...
这份“在工作中Java学习资料学习笔记”旨在帮助开发者在实际项目开发中提升技能和效率。以下是一些关键知识点的详细说明: 1. **面向对象编程**:Java的核心特性是面向对象编程(OOP),它将数据和操作数据的方法...
《郑志远的Java学习笔记》是一份详细记录了作者郑志远在深入学习Java编程过程中积累的知识点和实践经验的文档。这份笔记以其系统性、实用性以及深入浅出的讲解方式,成为了Java初学者和进阶者的重要参考资料。以下是...
### MySQL学习笔记知识点详解 #### 一、MySQL简介与数据描述的三个领域 **1. 数据描述的三个领域** 在数据库的设计与应用过程中,我们通常会提到数据描述的三个领域:现实世界、信息世界和机器世界。 - **现实...
### 四级数据库工程师复习笔记及试题答案详解 #### 第一章 引论 ##### 1.1 基本概念 **1.1.1 信息与数据** 1. **信息**: 客观世界事物的存在方式和运动状态的反映,是对事物之间相互联系、相互作用的描述。信息...
本文主要围绕Hibernate 3.2的学习笔记,涵盖其基本概念、配置、映射机制以及核心开发接口。 一、O/R Mapping简介与优点 1. O/R Mapping(对象关系映射)是为了解决面向对象编程与关系型数据库之间的差异,通过在...
综上所述,中级软件工程师需要具备扎实的Oracle数据库基础知识,同时也要了解其他主流数据库系统的特点与应用场景,这样才能更好地满足实际项目的需求。通过不断学习和实践,逐步提高自己的技术水平。
### Oracle数据库基础知识...了解这些基础知识对于深入学习 Oracle 数据库或其他关系型数据库至关重要。无论是选择 Oracle、DB2、Sybase、SQL Server 还是 MySQL,掌握这些核心概念将为您的职业生涯打下坚实的基础。
### MongoDB 学习笔记知识点详解 #### MongoDB 介绍 ##### 简介 MongoDB 是一种基于分布式文件存储的数据库,使用 C++ 编写。它主要为 Web 应用程序提供可扩展、高性能的数据存储解决方案。MongoDB 的数据结构非常...
本"Java学习笔记(必看经典)"文档旨在提供一个全面、深入的学习指南,帮助初学者和有一定经验的开发者巩固Java基础知识,探索高级特性,并提升实际编程技能。 Java学习笔记涵盖以下关键知识点: 1. **基础语法**:...
这份“Java学习笔记和资源”包含的可能是一份详细的学习指南,涵盖了从基础到高级的Java编程概念,以及一些实用的Java开发资源。下面将详细阐述Java编程的一些核心知识点。 1. **Java基础**:任何Java学习的起点都...
1. 分层架构:Spring支持控制层、服务层和数据库访问层的清晰划分,降低了各层之间的耦合。 2. 事务管理:Spring提供了一种声明式事务管理方式,无需编写复杂的事务传播代码。 3. 单例模式:Spring默认会将bean设置...