oracle 字符、数值、日期处理

合集下载

oraclenvl函数使用方法

oraclenvl函数使用方法

oraclenvl函数使用方法Oracle NVL函数是一种常用的函数,用于判断一个表达式是否为空,并根据判断结果返回不同的值。

如果表达式为空,NVL函数会返回一个指定的值或者NULL,如果表达式不为空,NVL函数会返回原始表达式的值。

语法:NVL(expr1,expr2)参数说明:- expr1: 需要判断是否为空的表达式。

- expr2: 当expr1为空时,返回的值。

备注:NVL函数可以用于任何数据类型,包括字符串、数值、日期等。

以下是几种常见的使用方法:1.使用NVL函数判断和处理NULL值有时候表中的一些列可能包含空值(NULL),在查询或使用这些列的时候,我们可以使用NVL函数来处理NULL值。

例如,我们从一个员工表(employees)查询员工的薪水,如果薪水为NULL,我们希望显示为0。

```SELECT NVL(salary, 0) AS salary FROM employees;```2.使用NVL函数处理字符串NVL函数可以被用于处理字符串。

当需要对一个可能为空的字符串做判断时,可以使用NVL函数来判断并返回默认值。

例如,我们希望查询员工的职位,如果职位为空,我们希望显示为'未知'。

```SELECT NVL(job, '未知') AS job FROM employees;```3.使用NVL函数处理日期同样的,NVL函数也可以被用于处理日期。

当需要对一个可能为空的日期做判断时,可以使用NVL函数来判断并返回默认日期。

例如,我们查询员工的入职日期,如果日期为空,我们希望显示为当前日期。

```SELECT NVL(hire_date, SYSDATE) AS hire_date FROM employees;```4.使用NVL函数在WHERE子句中过滤NULL值``````5.使用NVL函数对结果进行计算NVL函数也可以用于对结果进行计算。

oracle数据库基本数据类型

oracle数据库基本数据类型

oracle数据库基本数据类型
Oracle数据库有许多基本数据类型,包括:
1. 字符型:
- CHAR:固定长度的字符型,最长可达2000个字节。

- VARCHAR2:可变长度的字符型,最长可达4000字节。

- CLOB:用于存储大量文本数据的字符型,最长可达4GB。

- NCHAR:固定长度的Unicode字符型,最长可达2000个字节。

- NVARCHAR2:可变长度的Unicode字符型,最长可达4000字节。

- NCLOB:用于存储大量Unicode文本数据的字符型,最长可达4GB。

2. 数值型:
- NUMBER:用于存储数值数据的类型,包括整数和浮点数。

- BINARY_FLOAT:用于存储单精度浮点数。

- BINARY_DOUBLE:用于存储双精度浮点数。

3. 日期和时间型:
- DATE:用于存储日期和时间信息。

- TIMESTAMP:用于存储日期、时间和时区信息。

4. 二进制型:
- RAW:用于存储二进制数据的类型,最长可达2000字节。

- BLOB:用于存储大量二进制数据的类型,最长可达4GB。

5. BOOLEAN型:用于存储布尔值(TRUE或FALSE)。

这些基本数据类型可以通过组合和修饰符进行扩展和定制。

oracle中datediff函数的用法 -回复

oracle中datediff函数的用法 -回复

oracle中datediff函数的用法-回复Oracle中没有内置的DATEDIFF函数,但可以使用其他函数来实现类似的功能。

下面是一种常用的方法来计算两个日期之间的差异。

在Oracle中,我们可以使用日期函数来处理日期和时间。

其中一些常用的日期函数包括:TO_DATE,TO_CHAR,SYSDATE,ROUND等。

1. TO_DATE函数:将一个字符串转换为日期格式。

例如:TO_DATE('2022-01-01', 'YYYY-MM-DD') 返回日期值'2022-01-01'。

2. SYSDATE函数:返回当前日期和时间。

例如:SYSDATE 返回当前的系统日期和时间。

3. ROUND函数:对数值进行四舍五入。

例如:ROUND(3.14159, 2) 返回3.14。

现在,我们将使用这些函数来计算两个日期之间的差异。

步骤1:确定两个日期首先,确定要计算差异的两个日期。

假设我们要计算2022年1月1日和2025年12月31日之间的天数差异。

步骤2:将日期转换为标准格式使用TO_DATE函数将日期转换为标准格式。

例如:SELECT TO_DATE('2022-01-01', 'YYYY-MM-DD') AS start_date, TO_DATE('2025-12-31', 'YYYY-MM-DD') AS end_date FROM DUAL;这将返回以下结果:START_DATE END_DATE2022-01-01 2025-12-31步骤3:计算日期差异使用日期函数进行日期差异计算。

Oracle中,我们可以使用减法运算符(-)来计算两个日期之间的差异。

例如:SELECT TO_DATE('2025-12-31', 'YYYY-MM-DD') -TO_DATE('2022-01-01', 'YYYY-MM-DD') AS date_diffFROM DUAL;这将返回以下结果:DATE_DIFF1094这表示2022年1月1日和2025年12月31日之间有1094天的差异。

oracle 的数据类型

oracle 的数据类型

Oracle的数据类型一、概述在Oracle数据库中,数据类型是定义列或变量的属性,用于存储不同类型的数据。

数据类型在数据库设计和数据存储过程中起着关键的作用。

Oracle提供了丰富的数据类型,包括数值类型、字符类型、日期类型、大对象类型等。

本文将详细介绍Oracle的各种数据类型及其特点。

二、数值类型1. NUMBERNUMBER是Oracle中最常用的数值类型。

它可以存储任意精度的数值,包括整数和小数。

以下是一些常见的NUMBER类型的子类型:•NUMBER(precision): 存储精度为precision的数值。

•NUMBER(precision, scale): 存储精度为precision且小数位数为scale的数值。

2. INTEGERINTEGER是一种整数类型,它只能存储整数值。

它可以使用以下子类型:•INTEGER(precision): 存储精度为precision的整数值。

3. BINARY_FLOAT和BINARY_DOUBLEBINARY_FLOAT和BINARY_DOUBLE是用于存储浮点数的数据类型。

BINARY_FLOAT用于单精度浮点数,BINARY_DOUBLE用于双精度浮点数。

1. CHARCHAR是一种定长字符类型,它可以存储固定长度的字符串。

在创建CHAR类型的列或变量时,必须指定长度。

2. VARCHAR2VARCHAR2是一种可变长度字符类型,它可以存储可变长度的字符串。

在创建VARCHAR2类型的列或变量时,必须指定最大长度。

3. CLOBCLOB是用于存储大文本对象的数据类型。

它可以存储最大长度为4GB的文本数据。

四、日期类型1. DATEDATE是Oracle中用于存储日期和时间的数据类型。

它存储的范围从公元前4712年到公元9999年。

2. TIMESTAMPTIMESTAMP用于存储日期和时间,精确到纳秒级别。

它包括以下子类型:•TIMESTAMP: 存储日期和时间,精确到秒级别。

oracle常用运算表达式

oracle常用运算表达式

oracle常用运算表达式1.Oracle数据库是一种关系型数据库管理系统(RDBMS),广泛应用于企业级应用中。

在数据库查询和数据处理中,使用运算表达式是非常常见的操作。

本文将介绍一些在Oracle中常用的运算表达式,包括数学运算、字符串操作、日期运算等,帮助读者更好地理解和使用Oracle 数据库。

2. 数学运算2.1. 加法(+)加法运算是最基本的数学运算之一,在Oracle中使用加号进行相加操作。

sqlSELECT salary +bonus AS total_incomeFROM employees;2.2. 减法(-)减法运算用于计算两个数值的差。

sqlSELECT total_sales -expenses AS net_profitFROM financial_data;2.3. 乘法(*)乘法运算用于计算两个数值的乘积。

sqlSELECT quantity *unit_price AS total_costFROM orders;2.4. 除法(/)除法运算用于计算两个数值的商。

sqlSELECT revenue /number_of_customers AS average_revenue_per_customer FROM sales_data;2.5. 取余(MOD)取余运算返回两个数相除的余数。

sqlSELECT MOD(total_items, 5) AS remainderFROM inventory;3. 字符串操作3.1. 字符串连接(||)字符串连接运算符用于将两个字符串连接在一起。

sqlSELECT first_name ||' '||last_name AS full_nameFROM employees;3.2. 字符串截取(SUBSTR)SUBSTR函数用于从字符串中截取指定长度的子串。

sqlSELECT SUBSTR(product_name, 1, 3) AS short_nameFROM products;3.3. 字符串长度(LENGTH)LENGTH函数返回字符串的长度。

oracle 数据库解析字段与解析内容详解

oracle 数据库解析字段与解析内容详解

oracle 数据库解析字段与解析内容详解文章标题:深度解析Oracle数据库中的字段解析与内容详解在Oracle数据库中,字段解析和内容详解是数据库设计和优化中极为重要的部分。

本文将从简单到复杂地分析这一主题,并通过多个方面全面评估,以帮助读者更深入地理解这一概念。

一、字段解析的概念和作用在数据库中,字段解析是指对于各种数据类型的字段进行分析和解释。

不同的数据类型有不同的解析方式,而正确的字段解析能够帮助数据库管理员和开发人员更好地理解和利用数据。

Oracle数据库中常见的字段类型包括数值型、字符型、日期型等,它们的解析方法会对数据的存储、查找和计算产生影响。

1. 数值型字段解析数值型字段的解析主要涉及数据的精度和范围,以及相关的计算规则和函数。

对于整型和浮点型数据,需要考虑到数据的取值范围和小数位数,以及在应用中可能出现的四舍五入或溢出问题。

2. 字符型字段解析字符型字段的解析涉及到字符编码、长度限制、字符集规则等方面。

在处理多语言和特殊字符时,正确的解析能够保证数据的完整性和可读性,同时也对数据的存储和索引产生影响。

3. 日期型字段解析日期型字段的解析需要考虑到日期格式、时区、日期运算等方面。

在数据分析和报表生成中,正确解析日期字段能够保证数据的一致性和准确性。

二、内容详解的重要性和实践方法除了字段解析外,内容详解也是数据库设计和优化中不可或缺的部分。

内容详解是对数据内容进行深入的分析和理解,包括数据的来源、意义、关联等方面。

通过内容详解,可以更好地发现数据的价值和潜在问题,为决策和业务分析提供支持。

1. 数据来源和质量在进行内容详解时,需要了解数据的来源,包括数据的采集、清洗、转换等过程。

同时也需要评估数据的质量,包括数据的完整性、一致性、准确性等方面。

2. 数据关联和分析内容详解还涉及到数据之间的关联和分析,包括数据的连接、聚合、过滤等操作。

通过内容详解,可以更好地理解数据之间的关系,为业务分析和决策提供支持。

oracle数据类型详解---日期型(转载)

oracle数据类型详解---日期型(转载)

oracle数据类型详解---⽇期型(转载)oracle 数据类型详解---⽇期型oracle数据类型看起来⾮常简单,但⽤起来会发现有许多知识点,本⽂是我对ORACLE⽇期数据类型的⼀些整理,都是开发⼊门资料,与⼤家分享:注:由于INTERVAL及TIME ZONE实际⽤得⽐较少,所以本⽂内容未涉及这两个⽅⾯。

1、常⽤⽇期型数据类型1.1、DATE这是ORACLE最常⽤的⽇期类型,它可以保存⽇期和时间,常⽤⽇期处理都可以采⽤这种类型。

DATE表⽰的⽇期范围可以是公元前4712年1⽉1⽇⾄公元9999年12⽉31⽇date类型在数据库中的存储固定为7个字节,格式为:第1字节:世纪+100第2字节:年第3字节:⽉第4字节:天第5字节:⼩时+1第6字节:分+1第7字节:秒+11.2、TIMESTAMP(p)这也是ORACLE常⽤的⽇期类型,它与date的区别是不仅可以保存⽇期和时间,还能保存⼩数秒,⼩数位数可以指定为0-9,默认为6位,所以最⾼精度可以到ns(纳秒),数据库内部⽤7或者11个字节存储,如果精度为0,则⽤7字节存储,与date类型功能相同,如果精度⼤于0则⽤11字节存储。

格式为:第1字节:世纪+100第2字节:年第3字节:⽉第4字节:天第5字节:⼩时+1第6字节:分+1第7字节:秒+1第8-11字节:纳秒,采⽤4个字节存储,内部运算类型为整形注:TIMESTAMP⽇期类型如果与数值进⾏加减运算会⾃动转换为DATE型,也就是说⼩数秒会⾃动去除。

1.3、DATE与TIMESTAMP类型内部存储验证1create table T2 (3 C1 DATE,4 C2 TIMESTAMP(9)5 );67insert into t(c1,c2) values(date'2010-2-12',timestamp'2010-2-12 13:24:52.234123211');8insert into t(c1,c2) values(9 to_date('2010-2-12 10:20:30','YYYY-MM-DD HH24:MI:SS'),10 to_timestamp('2010-2-12 13:24:52.123456','YYYY-MM-DD HH24:MI:SS.FF6')11 );1213 SQL>select c1,dump(c1) c1_d,c2,dump(c2) c2_d from t;C1 C1_D C2 C2_D------------------------ ---------------------------------------- ---------------------------------------- -----------------------------------------------------2010-2-12 Typ=12 Len=7: 120,110,2,12,1,1,1 12-FEB-10 01.24.52.234123211 PM Typ=180 Len=11:120,110,2,12,14,25,53,13,244,111,2032010-2-12 上午 10:20:30 Typ=12 Len=7: 120,110,2,12,11,21,31 12-FEB-10 01.24.52.123456000 PM Typ=180 Len=11:120,110,2,12,14,25,53,7,91,202,0以下是为了测试是为了验证TIMESTAMP的⼩数位存储算法:1 SQL>select c2,dump(c2,16) c2_d16 from t;C2 C2_D16---------------------------------------- --------------------------------------------------------------------------------12-FEB-10 01.24.52.234123211 PM Typ=180 Len=11: 78,6e,2,c,e,19,35,d,f4,6f,cb12-FEB-10 01.24.52.123456000 PM Typ=180 Len=11: 78,6e,2,c,e,19,35,7,5b,ca,0SQL>select to_number('0df46fcb','xxxxxxxx') mydata1,to_number('075bca00','xxxxxxxx') mydata2 from dual;MYDATA1 MYDATA2---------- ----------234123211 1234560002、常见问题2.1、如何取当前时间sysdate--返回当前系统⽇期和时间,精确到秒systimestamp--返回当前系统⽇期和时间,精确到毫秒2.2、如何进⾏⽇期运算⽇期型数据可以与数值加减得到新的⽇期,加减数值单位为天sysdate+1--取明天的当前时间sysdate-1/24--取当前时间的前⼀个⼩时SQL>select sysdate d1,sysdate+1 d2,sysdate-1/24 d3 from dual;D1 D2 D3------------------------ ------------------------ ------------------------2010-5-13 下午 10:55:16 2010-5-14 下午 10:55:16 2010-5-13 下午 09:55:162.3、如何求两个⽇期的间隔时间可以直接把两个⽇期相减,返回的单位为天,⼩时及分秒会换算成⼩数SQL>select date'2012-01-01'-sysdate from dual;DATE'2012-01-01'-SYSDATE------------------------597.0460300925932.4、如何将⽇期转字符to_char(sysdate,'YYYY-MM-DD HH24:MI:SS')2.5、如何将字符转⽇期to_date('2010-02-24 15:01:54','YYYY-MM-DD HH24:MI:SS')to_timestamp('1999-12-01 11:00:00.123456','YYYY-MM-DD HH:MI:SS.FF6')3、常⽤⽇期函数3.1、TO_CHAR(DATE,FORMATSTR)--格式化⽇期成字符SQL>select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') d1 from dual;D1------------------------2010-05-13 22:56:38TO_CHAR的其它⽤法⽰例1 SQL>SELECT TO_CHAR(date '2010-02-12', 'D') week_dayth,--周第⼏天(1-7),星期天=1,星期⼀=2,星期⼆=3,星期三=4,星期四=5,星期五=6,星期六=72 TO_CHAR(date '2010-02-12', 'DD') month_dayth,--⽉第⼏天3 TO_CHAR(date '2010-02-12', 'DDD') year_dayth,--年第⼏天4 TO_CHAR(date '2010-02-12', 'DAY') weekdayname,--英⽂星期名5 _CHAR(date '2010-02-12', 'w') month_weekth,--⽉第⼏周(0-4)6 TO_CHAR(date '2010-02-12', 'ww') year_weekth--年第⼏周(0-53)7FROM DUAL;WEEK_DAYTH MONTH_DAYTH YEAR_DAYTH WEEKDAYNAME MONTH_WEEKTH YEAR_WEEKTH---------- ----------- ---------- ----------- ------------ -----------6 12 043 FRIDAY 2 073.2、TO_DATE(CHAR,FORMATSTR) --将字符转换成⽇期to_date('2010-02-24 15:01:54','YYYY-MM-DD HH24:MI:SS')格式备注:HH表⽰12⼩时进制,HH24表⽰采⽤24⼩时进制,MM表⽰⽉份,MI表⽰分钟。

ORACLE数据库字段类型说明

ORACLE数据库字段类型说明

ORACLE数据库字段类型说明类型含义存储描述备注CHAR固定长度字符串最⼤长度2000bytesVARCHAR2可变长度的字符串,最⼤长度4000bytes可做索引的最⼤长度749 NCHAR根据字符集⽽定的固定长度字符串最⼤长度2000bytesNVARCHAR2根据字符集⽽定的可变长度字符串最⼤长度4000bytesDATE⽇期(⽇-⽉-年)DD-MM-YY(HH-MI-SS),经过严格测试,⽆千⾍问题TIMESTAMP⽇期(⽇-⽉-年)DD-MM-YY(HH-MI-SS:FF3),经过严格测试,⽆千⾍问题与DATE相⽐较,TIMESTAMP有⼩数位秒信息LONG超长字符串最⼤长度2G,⾜够存储⼤部头著作RAW固定长度的⼆进制数据最⼤长度2000bytes可存放多媒体图象声⾳等LONG RAW可变长度的⼆进制数据最⼤长度2G可存放多媒体图象声⾳等BLOB⼆进制数据最⼤长度4GCLOB字符数据最⼤长度4GNCLOB根据字符集⽽定的字符数据最⼤长度4GBFILE存放在数据库外的⼆进制数据最⼤长度4GROWID数据表中记录的唯⼀⾏号10bytes**.*.*格式,*为0或1NROWID⼆进制数据表中记录的唯⼀⾏号最⼤长度4000bytesNUMBER(P,S)数字类型P为整数位,S为⼩数位DECIMAL(P,S)数字类型P为整数位,S为⼩数位INTEGER整数类型⼩的整数FLOAT浮点数类型NUMBER(38),双精度REAL实数类型NUMBER(63),精度更⾼**⽬前Oracle数据库⼤概有26个字段类型,⼤体分为六类,分别是字符串类型、数字数据类型、⽇期时间数据类型、=⼤型对象(LOB)数据类型、RAW和LONG RAW数据类型、ROWID和UROWID数据类型。

**当然Oracle还提供⽤户⾃定义的数据类型,但在我这篇不做讨论。

字符串类型Charchar数据类型存储固定长度的字符值。

⼀个CHAR数据类型可以包括1到2000个字符。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

字符及处理方法1.固定长度字符串:char(n) 空格补足,效率高,最大2000.2.变长:varchar(n) 最大4000varchar2(n) 最大4000 向下兼容3.在变量声明中的字符类型:char(n) 大小:32767varchar(n),varchar2(n) 为:327674.字符型处理:4.1 向左补全字符串lpad(string,padded_length,[pad_string]) 函数4.2 向右补全字符串rpad(string,padded_length,[pad_string]) 函数4.3 小写返回lower()4.4 大写返回upper()4.5 单词首字符大写initcap()4.6 返回字符长度length()4.7 截取字符串substr(string,start_index,length) 第一个字符位置为14.8 获得字符串出现的位置instr(string ,sub_string, [,start_index] [,times])4.9 删除字符串左侧空格ltrim()4.10 删除字符串右侧空格rtrim()4.11 删除字符串两侧空格trim()4.12 串联字符串concat()select concat(ename,'_emp') from emp;串联方法2:select ename||'_emp'||deptno from emp;-----------||字符串连接符4.13 反转字符串reverse()数值及处理方法一、数值:number [(precision [,scale]]注:precision 为精度,scale 为指定小数后的位数。

根据四舍五入取精度。

对12345.977 精度为8,当精确到小数点后2位为12345.98 精度为7;而精确到小数点前2位的话为12300,精度为3。

对于0.000995 精度为3,精确到小数点后5位为0.00100,此时精度为3。

二、数值处理:2.1 返回数值的绝对值abs()2.2 返回数字的“四舍五入”round()2.3 向上取整ceil()2.4 向下取整floor()2.5 取模mod(被除数,除数)2.6 返回数字的正负性sign()注:小于0时返回-1,大于0时返回1,等于0时返回0.2.7 返回数字的平方根sqrt()2.8 乘方power(底数,指数)2.9 截取数字trunc(原数值[,小数位数])2.10 将ASCII 码转换为字符chr()如:select chr(65) character from dual;CHARACTER---------A2.11 格式化数值to_char(原数值,格式)格式可以为:0、9、,、FM、$、L、C。

(1)“0”select to_char(12.78,'000.000') result from dual;RESULT--------012.780(2)“9”* select to_char(12.78,'999.999') result from dual;RESULT--------12.780* select to_char(0.78,'999.999') result from dual;RESULT--------.780* select to_char(0.78,'990.999') result from dual;RESULT--------0.780(3)“,”select to_char(4560000,'99,999,990.00') result from dual;RESULT--------------4,560,000.00(4)“FM”——Format Maskselect to_char(12.78,'999.999') result ,to_char(12.78,'FM999.999') fm_result from dual;RESULT FM_RESULT-------- ---------12.780 12.78(5)“$”* select to_char(12.78,'$999.999') result from dual;RESULT---------$12.780* select to_char(12.78,'999.9$99') result from dual;RESULT---------$12.780但与FM一起时必须FM在$的开头:* select to_char(12.78,'FM$999.999') result from dual;RESULT---------$12.78(6)“L”select to_char(12.78,'FML999.999') result from dual;RESULT------------------¥12.78(7)“C”select to_char(12.78,'FM999.999C') result from dual;RESULT---------------12.78CNY(8)十进制转换为十六进制x :select to_char(255,'xxx') from dual;TO_CHAR(255,'XXX')------------------ff注:"xxx" 中的x位不能小于实际的十六进制数的位数如:select to_char(255,'x') from dual;TO_CHAR(255,'X')----------------日期及处理方法1.获取当前日期sysdate()SQL> select sysdate from dual;SYSDATE-----------2016-07-312.为日期加上特定月份add_months()注:如果超过日期返回最后一天。

SQL> select add_months(sysdate,1) from dual;ADD_MONTHS(SYSDATE,1)---------------------2016-07-31 PM 01:04:33.返回特定日期的最后一天last_day()SQL> select last_day(to_date('2016-06-28','YYYY-MM-DD')) new_date from dual;NEW_DATE-----------2016-06-294.返回两个日期所差的月数months_between()SQL>selectmonths_between(to_date('1988-7-4','YYYY-MM-DD'),to_date('2012-1-1','YYYY-MM-DD')) new_date from dual;NEW_DATE-----------281.903225.返回当前会话时区的当前日期current_date()SQL>select sessiontimezone,to_char(current_date,'yyyy-mm-dd hh:mi:ss') result from dual;SESSIONTIMEZONERESULT--------------------------------------------------------------------------- -------------------+08:00201-07-31 01:19:49注:+08:00 表明当前时区为东八区。

6.返回当前会话时区的时间戳current_timestamp()SQL> select sessiontimezone,current_timestamp from dual;SESSIONTIMEZONECURRENT_TIMESTAMP-----------------------------------------------------------------------------------------------------------------------------------------------------------+08:0001-1月-12 01.20.45.234000 下午+08:007.将日期转换为字符串to_char()SQL> select to_char(sysdate,'YYYY-MM-DD') new_date from dual;NEW_DATE----------2016-07-318.截取日期trunc(日期,截取格式)(1)将日期截到天:SQL> select trunc(to_date('2010-4-5','YYYY-MM-DD'),'DD') new_date from dual;NEW_DATE-----------2010-04-05(2)将日期截到月:SQL> select trunc(to_date('2010-4-5','YYYY-MM-DD'),'MM') new_date from dual;NEW_DATE-----------2010-04-01(3)将日期截到分钟:SQL> select trunc(sysdate,'MI') from dual;TRUNC(SYSDATE,'MI')-------------------2016-07-31 PM 01:40(4)trunc()函数只截到需要的部分,其它的全为开始值。

如:SQL> select to_char(trunc(sysdate,'DD'),'YYYY-MM-DD HH:MI:SS AM') new_date from dual;NEW_DATE------------------------2016-07-31 12:00:00 上午9.返回日期的某个域extract(域名from 日期)9.1 分离出月份SQL> select extract(month from sysdate) new_month from dual;NEW_MONTH----------79.2 分离出小时SQL> select extract(hour from systimestamp) new_hour from dual;NEW_HOUR----------5注:小时不能用sysdate ,而且用systimestamp 获取的并不是当前时区的时间,而是为零时区的标准时间。

相关文档
最新文档