oracle to_date,to_char,to_number 用法
24 小时的形式显示出来要用 HH24
select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;
select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual;
to_date() function
1. 日期格式参数 含义说明
D 一周中的星期几
DAY 天的名字,使用空格填充到 9 个字符
DD 月中的第几天
DDD 年中的第几天
DY 天的简写名
IW ISO 标准的年中的第几周
IYYY ISO 标准的四位年份
YYYY 四位年份
YYY,YY,Y 年份的最后三位,两位,一位
HH 小时,按 12 小时计
HH24 小时,按 24 小时计
MI 分
SS 秒
MM 月
Mon 月份的简写
Month 月份的全名
W 该月的第几个星期
WW 年中的第几个星期 1. 日期时间间隔操作
当前时间减去 7 分钟的时间
select sysdate,sysdate - interval '7' MINUTE from dual
当前时间减去 7 小时的时间
select sysdate - interval '7' hour from dual
当前时间减去 7 天的时间
select sysdate - interval '7' day from dual
当前时间减去 7 月的时间
select sysdate,sysdate - interval '7' month from dual
当前时间减去 7 年的时间
select sysdate,sysdate - interval '7' year from dual
时间间隔乘以一个数字
select sysdate,sysdate - 8 *interval '2' hour from dual
2. 日期到字符操作
select sysdate,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual
select sysdate,to_char(sysdate,'yyyy-mm-dd hh:mi:ss') from dual
select sysdate,to_char(sysdate,'yyyy-ddd hh:mi:ss') from dual
select sysdate,to_char(sysdate,'yyyy-mm iw-d hh:mi:ss') from dual
参考 oracle 的相关关文档 (ORACLE901DOC/SERVER.901/A90125/SQL_ELEMENTS4.HTM#48515)
3. 字符到日期操作
select to_date('2003-10-17 21:15:37','yyyy-mm-dd hh24:mi:ss') from dual
具体用法和上面的 to_char 差不多。
4.TO_NUMBER
使用TO_NUMBER函数将字符转换为数字
TO_NUMBER(char[, '格式'])
数字格式格式
9 代表一个数字
0 强制显示0
$ 放置一个$符
L 放置一个浮动本地货币符
. 显示小数点
, 显示千位指示符
oracle中的to_date参数含义
5.数字转化为字符
/*
FM :除空格
9999999.0099:允许小数点左边最大正数为7位,小数点右边最少2位,最多4位,且在第5位进行四舍五入
*/
Select TO_CHAR(123.0233,'FM9999999.0099') FROM DUAL
1.日期格式参数含义说明
D 一周中的星期几
DAY 天的名字,使用空格填充到9个字符
DD 月中的第几天
DDD 年中的第几天
DY 天的简写名
IW ISO标准的年中的第几周
IYYY ISO标准的四位年份
YYYY 四位年份
YYY,YY,Y 年份的最后三位,两位,一位
HH 小时,按12小时计
HH24 小时,按24小时计
MI 分
SS 秒
MM 月
Mon 月份的简写
Month 月份的全名
W 该月的第几个星期
WW 年中的第几个星期 1.日期时间间隔操作
当前时间减去7分钟的时间
select sysdate,sysdate - interval ’7’ MINUTE from dual
当前时间减去7小时的时间
select sysdate - interval ’7’ hour from dual
当前时间减去7天的时间
select sysdate - interval ’7’ day from dual
当前时间减去7月的时间
select sysdate,sysdate - interval ’7’ month from dual
当前时间减去7年的时间
select sysdate,sysdate - interval ’7’ year from dual
时间间隔乘以一个数字
select sysdate,sysdate - 8 *interval ’2’ hour from dual
2.日期到字符操作
select sysdate,to_char(sysdate,’yyyy-mm-dd hh24:mi:ss’) from dual
select sysdate,to_char(sysdate,’yyyy-mm-dd hh:mi:ss’) from dual
select sysdate,to_char(sysdate,’yyyy-ddd hh:mi:ss’) from dual
select sysdate,to_char(sysdate,’yyyy-mm iw-d hh:mi:ss’) from dual
参考oracle的相关关文档(ORACLE901DOC/SERVER.901/A90125/SQL_ELEMENTS4.HTM#48515)
3. 字符到日期操作
select to_date(’2003-10-17 21:15:37’,’yyyy-mm-dd hh24:mi:ss’) from dual
具体用法和上面的to_char差不多。
4. trunk/ ROUND函数的使用
select trunc(sysdate ,’YEAR’) from dual
select trunc(sysdate ) from dual
select to_char(trunc(sysdate ,’YYYY’),’YYYY’) from dual
5.oracle有毫秒级的数据类型
--返回当前时间 年月日小时分秒毫秒
select to_char(current_timestamp(5),’DD-MON-YYYY HH24:MI:SSxFF’) from dual;
--返回当前时间的秒毫秒,可以指定秒后面的精度(最大=9)
select to_char(current_timestamp(9),’MI:SSxFF’) from dual;
6.计算程序运行的时间(ms)
declare
type rc is ref cursor;
l_rc rc;
l_dummy all_objects.object_name%type;
l_start number default dbms_utility.get_time;
begin
for I in 1 .. 1000
loop
open l_rc for
’select object_name from all_objects ’||
’where object_id = ’ || i;
fetch l_rc into l_dummy;
close l_rc;
end loop;
dbms_output.put_line
( round( (dbms_utility.get_time-l_start)/100, 2 ) ||
’ seconds ...’ );
end;
分享到:
相关推荐
总结的sql语法,其中包括一些函数的用法,to_date,to_char,to_number等等函数
TO_CHAR(date_or_number, format_mask[, nls_territory]) ``` - `date_or_number`:要转换的日期或数值。 - `format_mask`:定义输出的格式。例如,'MM/DD/YYYY' 或 'FM9999.999'(货币格式)。 - `nls_territory`...
to_number('12,454.8-', '99G999D9S') 这将将字符串 "12,454.8-" 转换成一个数字类型。 模板语法 to_char 函数使用模板语法来指定格式化的规则。模板语法包括: * HH:一天的小时数(01-12) * HH12:一天的小时...
### Oracle to_date() 函数详解 #### 一、概述 `to_date()` 是 Oracle 数据库中的一个重要函数,用于将字符串转换为日期格式。在实际应用中,尤其在处理时间戳或者进行日期比较时非常有用。本文将详细介绍 `to_...
SELECT t.*, ROW_NUMBER() OVER (PARTITION BY name || idNumber || TO_CHAR(date, 'YYYYMMDD') ORDER BY id) AS rn FROM teacher t ) subquery WHERE rn = 1; ``` - **PARTITION BY** 子句中的`name || idNumber...
TO_NUMBER(char[,’format_model’]) 字符转换到数字类型 TO_DATE(char[,’format_model’]) 字符转换到日期类型 格式说明符:要与前边要转换的字符串的格式要相同才能转换(匹配问题:格式和位数)。 TO_CHAR...
SELECT to_char(125.8, '999D99') AS formatted_number FROM dual; ``` 这将把125.8转换为带有两位小数的字符串形式。 对于日期/时间模板,可以使用前缀和后缀进行进一步的定制。例如,`FM`前缀用于去除填充的空格...
to_number(to_date(to_char(d.surmon,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') - to_date('1970-01-01 8:0:0', 'yyyy-mm-dd hh24:mi:ss'))*24*60*60*1000 from ( SELECT case to_number(to_char...
v_date_key := TO_NUMBER(TO_CHAR(TO_DATE(TO_CHAR(dDate, 'yyyy-mm-dd'), 'yyyy-mm-dd'), 'yyyymmdd')); v_date_value := TO_DATE(TO_CHAR(dDate, 'yyyy-mm-dd'), 'yyyy-mm-dd'); v_date_short := TO_CHAR(dDate...
Oracle的`to_char`函数是数据库操作中非常重要的一个转换函数,它允许我们将数据库中的DATE或NUMBER类型的数据转换成字符串格式,以便于显示或者进一步处理。这个函数的主要用途在于格式化输出,使得数据显示得更加...
除了Oracle,PostgreSQL也提供了一套类似的格式化函数,例如`to_char`、`to_date`、`to_timestamp`和`to_number`。这些函数在PostgreSQL中的使用方式和Oracle类似,但可能在某些细节上有所不同,例如PostgreSQL中的...
totalDay := to_number(last_day(to_date(firstYear || '-' || to_char(id) || '-01', 'yyyy-mm-dd'))); -- 日期遍历 for dayId in 1..totalDay loop v_date.day := to_char(substr(firstDay, 1, 7) || '-' || ...
使用 to_char 函数可以将 date 类型转换为 varchar 类型。例如: ```sql select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual; ``` 这将当前系统日期和时间转换为字符串形式。 2. varchar 转 date 使用 ...
周使用IW方式计算,如果一年当中第52周别之后至当年的12月31日之间,还有大于或等于4天的... v_date_of_week number(1); BEGIN select to_char(to_date(substr(a_week, 1, 4) || ‘0101’, ‘yyyymmdd’), ‘D’)
DATEDIFF('D', startDate, endDate) * 24 * 60 * 60 + (TO_NUMBER(TO_CHAR(CDateTime(endDate), 'SS')) - TO_NUMBER(TO_CHAR(CDateTime(startDate), 'SS'))) ELSE -29252888 END INTO reallyDoNumeric FROM ...
TO_NUMBER(TO_CHAR(TRUNC(SYSDATE, 'yyyy'), 'd')) year_week_day, ... FROM ... ``` 2. **计算当月的第几周**: 这个例子展示了如何找出指定日期在月份中的周数。首先,找到当月的第一天,然后计算该日期与...
WHILE TO_CHAR(v_date, 'DY', 'NLS_DATE_LANGUAGE = AMERICAN') IN ('SAT', 'SUN') LOOP v_date := v_date + 1; END LOOP; ELSE WHILE TO_CHAR(v_date, 'DY', 'NLS_DATE_LANGUAGE = AMERICAN') IN ('SAT', 'SUN...
TO_CHAR(date_or_numeric_expr, format_mask) ``` - **示例**: ```sql TO_CHAR(r.f_month, '09') ``` 此处将`f_month`字段中的月份转换为两位长度的字符形式,例如1月转换为"01"。 ##### 3. TO_DATE 函数 TO...
常见的转换函数包括 TO_CHAR、TO_NUMBER、TO_DATE 等。 * TO_CHAR 函数:用于将日期或数字转换为字符类型。格式为 TO_CHAR(date, 'format_model'),其中 format_model 是一个字符串,指定了转换的格式。 * TO_...