Oracle数据库的日期格式化技巧(oracle的日期格式化)
Oracle数据库它提供了很多功能,比如格式化日期。它允许我们将来自任何输入的DATE类型的值显示为我们希望的格式。
基本的Oracle日期格式化技巧是使用to_char()函数。它有两个参数,第一个是指定的日期,第二个是我们想要的格式的字符串。下面的代码里,我们想要在9月4日显示为YES和YYYYMMDD:
“` JAVA
SELECT TO_CHAR(SYSDATE, ‘YES’) “SHORTDATE”,
TO_CHAR(SYSDATE, ‘YYYYMMDD’) “LONGDATE”
FROM SYS.DUAL;
上面的查询结果将产生格式如下字符串:
SHORTDATE LONGDATE
YES 20180904
我们是如何创建格式从上面的代码中可以看出来,我们的格式是"YES"和"YYYYMMDD"。格式的更多内容信息可以在Oracle的文档中找到。要完成这个任务,我们需要收集关于格式的所有可能的模式和它们的意义。下面我们列出一些常用格式:
``` JAVA HH24 for 24 Hour clock,
MI for Minute MON for Month name
DY for Day of the Week RR for Year with 2 Digits
YYYY for 4 Digit Year.
我们可以使用 Oracle 提供的这些格式来构建复杂的日期格式。例如,我们可以创建一种日期格式,其中显示小时,分钟,月份,天和年,如下面的代码所示:
“` JAVA
SELECT TO_CHAR(SYSDATE, ‘HH24:MI MON DY YYYY’) AS DATESTRING FROM DUAL;
它将产生一个形如"14:54 Sep 04 2018"的字符串。下面我们列出了一些格式的示例:
``` JAVA SELECT
TO_CHAR(SYSDATE, 'HH24:MI') "TIME", TO_CHAR(SYSDATE, 'MM/DD/YY') "SHORTDATE",
TO_CHAR(SYSDATE, 'MM/DD/RRRR') "LONGDATE" FROM DUAL;
此查询将产生:
TIME SHORTDATE LONGDATE
14:58 09/04/18 09/04/2018
我们还可以使用Oracle提供的功能将任何日期转换成星期,如下面的查询所示:
“` JAVA
SELECT
TO_CHAR(SYSDATE, ‘DY’) “DAYOFWEEK”
FROM DUAL;
它将返回:
DAYOFWEEK
TUE
因此,在 Oracle 数据库中,我们可以格式化任何日期。有许多方法可以设定需要的格式,只需要熟悉格式参数就可以完成任务。