SQL Server,MySQL,Oracle,PostgreSQL中常用函数用法(1)——日期操作
来源:互联网 发布:爬虫软件是什么 编辑:程序博客网 时间:2024/05/22 00:06
练习使用Hibernate没有用MySQL数据库,而是用了前不久接触的PostgreSQL,由于不同的数据对于相同的操作有各自的函数,MySQL的date_format(),在PostgreSQL中是没有的,google一番发现原来是要用to_char()。
* datepart()函数可以方便的取到日期中的各个部分,如日期:2012-12-05 15:15:36.513
搜索到一篇英文文章《Executing Common SQL Coding Tasks Using Function Calls》(常用SQL函数调用的区别),其中列出了如:MS SQL Server、MySQL、Oracle、PostgreSQL,这几个常用数据库中的常用函数。
边翻译加自己的补充,分成几个文章共享给大家。方便以后的使用。
日期操作
1. 获取当前日期和时间
- SQL Server
getdate()函数 (返回当前的日期和时间)
SELECT GETDATE()GO
- MySQL
curdate()函数(返回当前的日期)
now()函数 (返回当前的日期和时间)
SELECT CURDATE()
- Oracle
sysdate (返回服务器时间)
SELECT SYSDATE FROM dual;
- PostgreSQL
current_date (返回当天的日期)
current_timestamp (返回日期和时间)
now() (返回当前的日期和时间,等效于 current_timestamp)
SELECT CURRENT_DATE;
【注意】
- 以上的函数都是不需要参数的。
- 在Oracle中current_date和sysdate都是现实当前时间,结果基本相同,但是也有区别:
a. urrent_date返回的是当前会话时间,sysdate返回的是服务器时间。
b. current_date有时候比sysdate快一秒,这可能是四舍五入的结果。
c. 如果修改当前会话的时区,比如将中国的时区为东八区,修改为东九区,则current_date显示的时间为东九区时间,根据东加西减的原则,current_date应该比sysdate快一小时.
2. 操作时间的获取子域。比如:年、月、日、小时等等。
- SQL Server:datepart(datepart,date)
SELECT DATEPART(dw, GETDATE())GO
* datepart()函数可以方便的取到日期中的各个部分,如日期:2012-12-05 15:15:36.513
yy取年:2012mm取月:12dd取月中的天:5dy取年中的天:340wk取年中的周:50dw取周中的天:4qq取年中的季度:4hh取小时:15mi取分钟:15ss取秒:36
- MySQL:dayofmonth(date)返回对应的工作日名称
SELECT DAYNAME('1998-02-03');->'周四'
- Oracle:to_char(date,'格式')
SELECT TO_CHAR(SYSDATE, 'Day') FROM dual;
- PostgreSQL:date_part(text,timestamp)
SELECT DATE_PART('dow', date 'now');
3. 两个时间的间隔
- SQLServer
SELECT DATADIFF(dd,'1/1/01',GETDATE())GO
- MySQL
SELECT FROM_DAYS(TO_DAYS(CURDATE()) - TO_DAYS('2012-12-05'));
- Oracle
SELECT TO_DATE('25-Nov-2000','dd-mon-yyyy') - TO_DATE('25-Aug-1969','dd-mon-yyyy')FROM dual;
- PostgreSQL
SELECT AGE(CURRENT_DATE,'25-Aug-1969');
4. 日期格式化(Mon,DD,YYYY;mm/dd/yy;dd/mm/yy;等等)
- SQL Server
SELECT CONVERT(VARCHAR(11),GETDATE(),102)GO
- MySQL
SELECT DATE_FORMAT("2001-11-25","%M %E,%Y");
- Oracle
ELECT TO_CHAR(SYSDATE,'dd-Mon-yyyy hh:mi,ss PM')FROM dual;
- PostgreSQL
SELECT TO_CHAR(timestamp(CURRENT_DATE),'dd-Mon-yyyy hh:mi:ss PM')
- SQL Server,MySQL,Oracle,PostgreSQL中常用函数用法(1)——日期操作
- SQL Server 常用函数和日期操作
- 不同数据库中查询前几条记录的用法(SQL Server/MYSQL /Oracle/Postgresql)
- sql server 中常用的日期函数
- 数据库技巧—SQL Server日期函数的巧妙用法
- SQL SERVER日期函数用法
- SQL SERVER常用日期函数
- SQL SERVER常用日期函数
- sql-server中,Convert函数在查询日期中的用法。
- SQL Server中常用的日期时间函数
- SQL Server中常用的特殊日期代码函数语句
- SQL Server中常用的日期时间函数
- Oracle中常用sql函数(1)
- SQL Server、Oracle、MySQL和Vertica数据库常用函数对比
- SQL Server 常用日期函数DateDiff()、GetDate() 以及oracle 日期常用函數 (SYSDATE、日期格式)等详解
- SQL SERVER日期函数详细用法
- SQL SERVER日期函数详细用法
- SQL SERVER日期函数详细用法
- select onclick jquery
- error LNK2001: unresolved external symbol __imp__CreateToolbarEx@52
- php实现判断某个给定的ip地址是否在指定ip范围内
- MyISAM InnoDB 区别
- maven+spring+cxf编写web service (2)
- SQL Server,MySQL,Oracle,PostgreSQL中常用函数用法(1)——日期操作
- Android中 AsyncTask的使用
- PHP-FPM启动脚本/etc/init.d/php-fpm
- C#数字图像处理时注意图像的未用区域
- linux sda adb
- 游戏中移动讨论
- WCDMA PPP test
- 浅学设计模式之单例<singleton>模式 .
- 教你如何计算腰围~~