时间:2021-07-01 10:21:17 帮助过:36人阅读
练习使用Hibernate没有用MySQL数据库,而是用了前不久接触的PostgreSQL,由于不同的数据对于相同的操作有各自的函数,MySQL的date_format(),在PostgreSQL中是没有的,google一番发现原来是要用to_char()。 搜索到一篇英文文章《Executing Common SQL Coding
练习使用Hibernate没有用MySQL数据库,而是用了前不久接触的PostgreSQL,由于不同的数据对于相同的操作有各自的函数,MySQL的date_format(),在PostgreSQL中是没有的,google一番发现原来是要用to_char()。搜索到一篇英文文章《Executing Common SQL Coding Tasks Using Function Calls》(常用SQL函数调用的区别),其中列出了如:MS SQL Server、MySQL、Oracle、PostgreSQL,这几个常用数据库中的常用函数。
边翻译加自己的补充,分成几个文章共享给大家。方便以后的使用。
getdate()函数 (返回当前的日期和时间)
- <span>SELECT GETDATE()
- GO</span>
curdate()函数(返回当前的日期)
now()函数 (返回当前的日期和时间)
- <span>SELECT CURDATE()
- </span>
sysdate (返回服务器时间)
- <span>SELECT SYSDATE
- FROM dual;
- </span>
current_date (返回当天的日期)
current_timestamp (返回日期和时间)
now() (返回当前的日期和时间,等效于 current_timestamp)
- <span>SELECT CURRENT_DATE;
- </span>
【注意】
- SELECT DATEPART(dw, GETDATE())
- GO
yy 取年:2012 mm 取月:12 dd 取月中的天:5 dy 取年中的天:340 wk 取年中的周:50 dw 取周中的天:4 取年中的季度:4 hh 取小时:15 mi 取分钟:15 ss 取秒:36
- SELECT DAYNAME('1998-02-03');
- ->'周四'
- SELECT TO_CHAR(SYSDATE, 'Day')
- FROM dual;
- SELECT DATE_PART('dow', date 'now');
- SELECT DATADIFF(dd,'1/1/01',GETDATE())
- GO
- SELECT FROM_DAYS(TO_DAYS(CURDATE()) - TO_DAYS('2012-12-05'));
- SELECT TO_DATE('25-Nov-2000','dd-mon-yyyy') - TO_DATE('25-Aug-1969','dd-mon-yyyy')
- FROM dual;
- SELECT AGE(CURRENT_DATE,'25-Aug-1969');
- SELECT CONVERT(VARCHAR(11),GETDATE(),102)
- GO
- SELECT DATE_FORMAT("2001-11-25","%M %E,%Y");
- ELECT TO_CHAR(SYSDATE,'dd-Mon-yyyy hh:mi,ss PM')
- FROM dual;
- SELECT TO_CHAR(timestamp(CURRENT_DATE),'dd-Mon-yyyy hh:mi:ss PM')