Oracle中转换函数有哪些

这篇文章主要为大家展示了“Oracle中转换函数有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Oracle中转换函数有哪些”这篇文章吧。

网站建设哪家好,找成都创新互联!专注于网页设计、网站建设、微信开发、小程序定制开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了南岔免费建站欢迎大家使用!

转换函数

      TO_CHAR函数将数据转换为字符

                   TO_CHAR函数返回VARCHAR2数据类型的值。当将它应用于NUMBER数据类型的值时TO_CHAR(num1[,format mask[,nls_parameters]])

                   num参数是强制性的,它必须是一个数字值。可选的format参数用来指定数字格式信息——例如宽度、货币符号、小数点的位置和组(或者千位)分隔符,必须将它们包含在单引号内。除此之外,对于要转换为字符的数字而言,还有其他一些格式信息的选项。

                   select to_char(00001) from dual;

                   select to_char(00001,'099999') from dual;

TO_CHAR函数将数据转换为字符

格式元素

元素说明

格式

数字

字符结果

9

数字宽度

9999

12

12

0

显示前面的0

09999

0012

00012

.

小数点的位置

09999.999

030.40

00030.400

D

小数分隔符的位置(默认为名点)

09999D999

030.40

00030.400

,

逗号的位置

09999,999

03040

00003,040

G

组分隔符的位置(默认为逗号)

09999G999

03040

00003,040

$

美元

$099999

03040

$003040

L

当地货币

L099999

03040

GBP003040(如果nls_currency设置为GBP)

MI

表示负数的减号的位置

99999MI

-3040

3040-

PR

包围在括号内的负数

99999PR

-3040

<3040>

EEEE

科学计数法

99.99999EEEE

121.976

1.21976E+02

U

Nls_dual_currency

U099999

03040

CAD003040(如果nls_dual_currency设置为CAD)

V

乘以10n次(n是V之后9的数量)

9999V99

3040

304000

S

前面加上+或者-

S999999

3040

+3040

 TO_CHAR函数将日期转换为字符

                            使用TO_CHAR函数,可以利用各种格式模型将DATE项转换为几乎所有日期的字符表示形式。

                            语法:TO_CHAR(date1[,format[,nls_parameter]])

                            只有date1参数是强制的,date1必须是可以被隐式转换为日期的值。可选的format参数区分大小写,必须奖它包含在单引号内。格式掩码指定哪些日期元素,是用长的名称还是用缩写名称来描述这个元素。还会自动给日和月的名称填充空格。可以使用格式掩码的修饰符来删除这些空格,这个修饰符称为填充模式(fm)运算符。在格式模型之前添加字母fm,就会命令Oracle从日和月的名称中删除所有空格。对于被转换为字符串的日期而言还有许多格式选项。

                            select to_char(sysdate) || ' is today''s date' from dual;

                            select to_char(sysdate,'Month') || 'is special time ' from dual;

                            select to_char(sysdate,'fmMonth') || 'is special time ' from dual;

to_char把日期转换为字符串

假设格式元素作用于日期02-JUN-1975

格式元素

说明

结果

Y

年的最后一位

5

YY

年的最后两位

75

YYY

年的最后三位

975

YYYY

4位数字表示的年

1975

RR

两们数字表示的年(已知世纪)

75

YEAR,year,Year

区分大小写并用英语拼写的年

NINETEEN SEVENTY FIVE,

Nineteen seventy five,

Nineteen Seventy Five

MM

两位数表示的月

06

MON,mon,Mon

月的三个字母缩写

JUN,jun,Jun

MONTH,month,Month

区分大小写并用英语拼写的月

JUNE,june,June

D

星期的第几天

2

DD

月的两位数日

02

DDD

年的日

153

DY,dy,Dy

星期的三个字母缩写

MON,mon,Mon

DAY,day,Day

区分大小写并用英语拼写的星期

MONDAY,Monday,Monday

提取日期时间数据类型的时间部分,表中使用的日期为27-JUN-2010 21:35:13

格式元素

说明

结果

AM,PM,A.M.和P.M.

子午线指示器

PM

HH、HH2和HH24

一天的小时,1-12时和0-23时

09,09,21

MI

分(0~59)

35

SS

秒(0~59)

13

SSSSS

午夜之后的秒(0~86399)

77713

其他一些能够在日期时间格式模型中使用的元素。标点符号用来分隔格式元素。有三种类型的后缀可以格式化日期时间元素的组件。而且,如果将字符字面值包含在双引号内,那么就能够在返回值中包含它们。使用日期12/SEP/08 14:31

格式元素

说明和格式掩码

结果

/ . , ? # ! -

标点符号:’MM.YY’

09.08

“any character literal”

字符字面值:’”Week” W “of” Month’

Week 2 of September

TH

位置或者序数文本:’DDth ”of” Month’

12TH of September

SP

拼写出数字:’MmSP month Yyyysp’

Nine September Two Thousand Eight

THSP or SPTH

拼写出位置或者序数:’hh34SpTh’

Fourteenth

           使用TO_DATE函数将字符转换为日期

                   TO_DATE函数返回DATE类型的值。转换为日期的字符串可能包含所有或者部分组成DATE的日期时间元素。当只转换包含日期时间元素子集的字符串时,Oracle提供资金默认值来构造完整的日期。字符串的组成部分通过格式模型或掩码与不同的日期时间元素相关联。

                   语法:TO_DATE(string1[,format,[nls_parameter]])

                   只有string1参数是强制性的,如果没有提供格式掩码,string1会隐式转换为日期。几乎总是使用可选的fromat参数,在单引号内指定它,与TO_CHAR的格式掩码相同。TO_DATE函数有fx修饰,表示string1和格式掩码必须完全匹配,否则报错。

                   select to_date('25-DEC-2010') from dual;

                   select to_date('25-DEC') from dual; --错误

                   select to_date('25-DEC','DD-MON') from dual;

                   select to_date('25-DEC-2010 18:03:45','DD-MON-YYYY HH24:MI:SS') from dual;

                   select to_date('25-DEC-10','fxDD-MON-YYYY') from dual;--错误

            TO_NUMBER函数将字符转换为数字

                   TO_NUMBER函数返回NUMBER类型的值。转换为数字的字符串必须有合适的格式,以便用相应的格式掩码转换或删除所有非数字组成部分。

                   语法:TO_NUMBER(string1[,format,[nls_parameter]])

                   只有string1参数是强制性的,如果没有提供格式掩码,string1就必须是可以隐式转换为数字的值。用单引号指定可选的format参数。与TO_CHAR转换数字到字符串中的格式掩码相同。

                   select to_number('$1,000.55') from dual;--错误

                   select to_number('$01,000.55','$0999,999.999') from dual;

                   注:TO_NUMBER函数将字符项转换为数字。如果使用较短的格式掩码转换数字,就会返回错误,如果使用较长的格式掩码转换数字,就会返回原数字。

以上是“Oracle中转换函数有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


分享名称:Oracle中转换函数有哪些
转载来源:http://hbruida.cn/article/gsdpjd.html