ORACLE函数之单行转换函数



1           ASCIISTR

格式:ASCIISTR(C)

说明:将字符串C转换为ASCII字符串,即将C中的ASCII字符保留不变,但非ASCII字符则以ASCII表示返回

举例:

SQL>SELECT ASCIISTR(‘AB?CDE数据库‘) A FROM DUAL;

A

---------------------

AB?CDE\6570\636E\5E93

2           BIN_TO_NUM

格式:BIN_TO_NUM(n1,n2,n3...)

说明:每位由n1,n2,n3等组成的二进制转换为十进制

举例:

SQL>SELECT BIN_TO_NUM(1,1,1,1) A FROM DUAL;

A

----------

15

3           CAST

格式:CAST(CAS T)

说明:将表达式C转换成数据类型T。T可以是内量数据类型,也可以是程序员自定义的数据类型。前提是能够转换才可以转换

举例:

SQL>SELECT CAST(‘12345‘ AS NUMBER) A FROM DUAL;

A

----------

12345

4           DECODE

格式:DECODE(x,if 1,then 1, if 2 then 2 ,.., else z)

说明:将x与if值进行比较,如果等于if
n就返回then n.否则就返回else z

举例:

SQL>SELECT DECODE(1,1,0,-1) AS A,DECODE(1,0,0,-1) AS B FROM DUAL;

A          B

--------------------

0         -1

5           NUMTODSINTERVAL

格式:NUMTODSINTERVAL(N,C)

说明:把数字N转换成C指定的INTERVALDAY
TO SECOND类型的数据。C的取值为DAY,HOUR,MINUTE,SECOND。C的大小写无关

举例:

SQL>SELECT SYSDATE+NUMTODSINTERVAL(10,‘DAY‘) A,SYSDATE+NUMTODSINTERVAL(10,‘HOUR‘) BFROM DUAL;

A                 
B

-----------------------------------

2014/7/1117:20:11 2014/7/2 3:20:11

6           NUMTOYMINTERVAL

格式:NUMTODSINTERVAL(N,C)

说明:把数字N转换成C指定的INTERVALDAY
TO SECOND类型的数据。C的取值为YEAR、MONTH。C的大小写无关

举例:

SQL>SELECT SYSDATE+NUMTOYMINTERVAL(10,‘YEAR‘) A,SYSDATE+NUMTOYMINTERVAL(10,‘MONTH‘)B FROM DUAL;

A        
             B

----------------------------------------

2024/7/117:24:18     
2015/5/1 17:24:18

7           TO_CHAR

格式:TO_CHAR(X[,fmt])

说明:将X按fmt格式转换成字符串。X可以是一个日期或者数字,也可以是一个字符串,fmt是一个规定了X采用何种格式转换的格式字符串

举例:

SQL>SELECT TO_CHAR(SYSDATE,‘YYYY-MM-DD‘) A,TO_CHAR(111) B FROM DUAL;

A         
B

-------------

2014-07-02111

8           TO_CLOB

格式:TO_CLOB(x)

说明:将LOB列中的NCLOB值或其他字符串x转换成CLOB值

举例:

SQL>SELECT TO_CLOB(‘AAAA‘) A FROM DUAL;

A

--------------------------------------------------------------------------------

AAAA

9           TO_DATE

格式:TO_DATE(C[,fmt])

说明:将符合fmt指定的特定日期格式的字符串C转换成DATE类型的数据

举例:

SQL>SELECT TO_DATE(‘2014-07-02‘,‘YYYY-MM-DD‘) A,TO_DATE(‘2014-07‘,‘YYYY-MM‘) B FROMDUAL;

A          
B

----------------------

2014/7/2   
2014/7/1

10       TO_DSINTERVAL

格式:TO_DSINTERVAL(C)

说明:将符合特定格式的字符串C转换成INTERVALDAY
TO SECOND类型的数据

举例:

SQL>SELECT 
SYSDATE+TO_DSINTERVAL(‘1000:00:00‘) A FROM DUAL;

A

-----------------

2014/7/128:49:39

11       TO_LOB

格式:TO_LOB(X)

说明:将LONG列中的值X转换成LOB列的值

举例:

12       TO_NUMBER

格式:TO_NUMBER(C[,fmt])

说明:将符合fmt指定的特定数字格式的字符串C转换成数字类型的数据

举例:

SQL>SELECT TO_NUMBER(‘0101‘) A FROM DUAL;

A

----------

101

13       TO_TIMESTAMP

格式:TO_TIMESTAMP(C)

说明:将字符串C转换为一个TIMESTAMP数据类型

举例:

SQL>SELECT 
TO_TIMESTAMP(‘2014-07-1214:10:10.12320‘, ‘YYYY-MM-dd HH24:MI:SS.FF‘) A FROM DUAL;

A

--------------------------------------------------------------------------------

12-7月-14 02.10.10.123200000
下午

14       TO_TIMESTAMP_TZ

格式:TO_TIMESTAMP_TZ(C[, fmt])

说明:将符合fmt指定的特定日期格式的字符串C转换成TIMESTAMPWITH
TIMEZONE类型的数据,带时区

举例:

SQL>SELECT 
TO_TIMESTAMP_TZ(‘2014-07-1214:10:10.12320‘, ‘YYYY-MM-dd HH24:MI:SS.FF‘) A FROM DUAL;

A

--------------------------------------------------------------------------------

12-7月-14 02.10.10.123200000
下午 +08:00

15       TO_YMINTERVAL

格式:TO_YMINTERVAL(C)

说明:将符合特定格式的字符串C转换成INTERVALYEAR
TO MONTH类型的数据

举例:

SQL>SELECT 
SYSDATE+TO_YMINTERVAL(‘01-03‘) AFROM DUAL;

A

-----------------

2015/10/29:26:45

16       TRANSLATE

格式:TRANSLATE(X,if y, then z)

说明:查看X中的每个字符,然后查看该字符在if
y中是否存在。如果存在,就在if y中找到该字符的位置,然后用then z中相同位置的字符替代该字符,最后返回全部替代之后的X

举例:

SQL>SELECT TRANSLATE(‘abcdefghij‘,‘abcdef‘,‘123456‘) A FROM dual;

A

----------

123456ghij

17       UNISTR

格式:UNISTR(c)

说明:返回字符串c对应的UNICOOE字符

举例:

SQL>SELECT  
UNISTR(‘01-03‘) A FROM DUAL;

A

-----------------

01-03

ORACLE函数之单行转换函数

时间: 2024-12-13 22:59:03

ORACLE函数之单行转换函数的相关文章

ORACLE函数之单行数字函数

 1.           ABS(X) 返回X的绝对值 SQL>SELECT ABS(-1) A,ABS(1) B,ABS(0) C FROM DUAL; A          B          C -------------------- ---------- 1          1          0 2.          ACOS(X) 返回X的反余弦值 SQL>SELECT ACOS(0) A,ACOS(0.5) B,ACOS(1) C FROM DUAL; A    

ORACLE函数之单行字符函数

 1.           ASCII(C) 说明:返回C的首字符在ASCII码中对应的十进制 举例: SQL>SELECT ASCII('A') A,ASCII('a') B,ASCII('0') C,ASCII(' ') D FROM DUAL; A         B          C         D -------------------- ---------- ---------- 65        97         48        32 2.         C

ORACLE常用数值函数、转换函数、字符串函数

本文并不准备介绍全部的oracle函数,当前情势下,俺也还没这个时间,需要学习的东西太多了,要把多数时间花在学习经常能用上的技术方面:),所以如果是准备深入了解所有oracle函数的朋友,还是去关注:Oracle SQL Reference官方文档更靠谱一些. 本文更多将会介绍三思在日常中经常会用到的,或者虽然很少用到,但是感觉挺有意思的一些函数.分二类介绍,分别是: 著名函数篇 -经常用到的函数 非著名函数篇-即虽然很少用到,但某些情况下却很实用 注:N表示数字型,C表示字符型,D表示日期型,

【C/C++学院】0822-类型转换函数与构造转换函数/类的继承/类的继承以及区别/继承静态成员与静态函数//继承实现代码重用/单继承QT案例/多继承简介以及实战/Gpu编程

类型转换函数与构造转换函数 #include<iostream> class fushu { public: explicit fushu(int num)//避免隐式转换,引发歧义 { x = num; y = num; } void print() { std::cout << x << "+" << y << "i" << std::endl; } operator int(); //不支

Mysql日期转换函数、时间转换函数

Mysql日期转换函数.时间转换函数 一.MySQL 获得当前日期时间 函数 1,获得当前日期+时间(date + time)函数:now(): select now(); 结果:2008-08-08 22:20:46 2,获得当前日期+时间(date + time)函数:sysdate()sysdate() 日期时间函数跟 now() 类似,不同之处在于:now() 在执行开始时值就得到了, sysdate() 在函数执行时动态得到值: select sysdate(); 结果:2008-08

Oracle函数大全之转换函数

chartorowid(c1) [功能]转换varchar2类型为rowid值 [参数]c1,字符串,长度为18的字符串,字符串必须符合rowid格式 [返回]返回rowid值 [示例] SELECT chartorowid('AAAADeAABAAAAZSAAA') FROM DUAL; [说明] 在Oracle中,每一条记录都有一个rowid,rowid在整个数据库中是唯一的,rowid确定了每条记录是在Oracle中的哪一个数据文件.块.行上. 在重复的记录中,可能所有列的内容都相同,但r

SQL单行函数和多行函数

单行函数和多行函数示意图: 单行函数分为五种类型:字符函数.数值函数.日期函数.转换函数.通用函数 单行函数: [sql] view plaincopy --大小写控制函数 select lower('Hello World') 转小写, upper('Hello World') 转大写 from dual; --initcap: 首字母大写 select initcap('hello world') 首字符大写 from dual; --字符控制函数 -- concat: 字符连接函数, 等同

分组函数/聚合函数/多行处理函数

什么是单行处理函数,什么又是多行处理函数? 单行处理函数:lower,upper,round,rand,length,ifnull等,都是一个输入对应一个输出: 多行处理函数:count,sum,avg,max,min,都是多个输入对应一个输出 注意:多行处理函数自动忽略空值,而且不能在where字句中使用 关于count()函数: 括号里面若是字段名:取得字段里不为空的元素总数 括号里若是*:取得满足条件的所有元素总数 原文地址:https://www.cnblogs.com/xqr2018/

Oracle函数-单行函数-转换函数、条件表达式

单行函数 ============================================================ 特点: 每行返回一个结果,输入输出存在一一对应的关系 能嵌套使用 ,一个函数的输出能做另外一个函数的输入 如:select lowner(upper('aa')) from dual; 传入的变量可以是列的值,也可以是表达式. 如 select lower(ename) from emp; ======================================