Oracle_SQL 基础之 类型转换
来源:互联网 发布:55度杯好用吗 知乎 编辑:程序博客网 时间:2024/05/18 02:20
Oracle有三种最基本的数据类型,即字符型、数字型、日期型。
Oracle 数据类型的隐式转换
现在在oracle数据库中建立一个user_info
表,对应代码如下:
CREATE TABLE user_info(user_id NUMBER(2) PRIMARY KEY,user_name VARCHAR2(14),user_birthday DATE);
赋值操作
在赋值操作的情况下,我们有如下四种隐式类型转换的情况:
字符串转化为数字
select '12'+'8' from dual;-- 20
字符串转化为日期
INSERT INTO USER_INFO (user_id,user_name,user_birthday) VALUES (1,'Tom','26-1月-08');
数字类型转换为字符串
INSERT INTO USER_INFO (user_id,user_name,user_birthday) VALUES (2,111,last_day('26-4月-08'));
说明:数字类型的111
被转化为字符串插入到user_info
表的user_name
属性中去!
日期类型转化为字符串类型
INSERT INTO USER_INFO (user_id,user_name,user_birthday) VALUES (3,sysdate,sysdate+1);
说明:代码中的sysdate
被转化为字符串赋值到了user_name
属性中!
表达式比较操作
在表达式的比较操作过程中,我们可以进行如下两种隐式转换操作:
字符串转化为数字
select 1+1 from dual where '2' > 1;-- 2
字符串转化为日期类型:
select 1+1 from dual where sysdate < '26-4月-19';-- 2
但是一般常用的还是类型的显式转换!
Oracle 数据类型的显式转换
首先,我们常用的显式类型转换的函数与如下三种:
to_char()
:转化为字符串类型
to_number()
:转化为数字类型
to_date()
:转化为日期类型
我们用如下的图来说明则三个函数的使用场景:
那么就从上图的四个场景来分别介绍相应的函数用法:
TO_CHAR() 函数:日期转化为字符串
TO_CHAR(date, ‘format_model’) ;
如上的format_model有如下格式:
还是以上面的user_info
数据库为例,我们看下面几个例子:
SELECT to_char(u.user_birthday, 'YYYY-MM-DD HH24:MI:SS AM') FROM user_info u WHERE u.user_id = 3--查找结果:2017-07-20 19:25:19 下午
TO_CHAR() 函数:数字转化为字符串
TO_CHAR(number, ‘format_model’) ;
其中format_model有如下格式:
我们看下面几个例子的学习怎样使用这个函数:
alter session set NLS_CURRENCY = '¥';SELECT to_char(1245562, 'L99,999,999.00') FROM dual;--查找结果:¥1,245,562.00
alter session set NLS_CURRENCY = '$';SELECT to_char(1245562, 'L99,999,999.00') FROM dual;--查找结果:$1,245,562.00
TO_NUMBER() 函数:字符串转化为数字
TO_NUMBER(char[, ‘format_model’]) ;
最简单的应用就是:
SELECT to_number('4456') FROM dual;--4456
当然可以干一些较为复杂的转换,看如下代码:
SELECT to_number('$4,456,455.000', '$9,999,999.999') FROM dual;--查找结果:4456455
说明:以上面的语句为例:
我们的format_model要与待转化的数字对应好,且其位数不能小于它。
如上我们会发现$9,999,999.999
与$4,456,455.000
是意义对应的。
也就是说上例中的format_model可以为:$999,999,999.999
,$9,999,999,999.999
,但是不能为:$999,999.999
或者$9,999.999
等等。
TO_DATE()函数:字符串转化为日期
TO_DATE(char[, ‘format_model’])
较为常用的用法如下:
SELECT to_date('2011-02-22', 'YYYY-MM-DD') FROM dual;--2011/2/22
- Oracle_SQL 基础之 类型转换
- Oracle_SQL基础
- oracle_sql基础
- C++基础之类型转换
- java基础之类型转换
- C#基础之类型转换
- Java基础之类型转换
- java基础之类型转换
- c++基础之类型转换
- oracle_sql 基础 (1)
- oracle_sql 基础 (2)
- oracle_sql 基础 (3)
- oracle_sql 基础 (4)
- oracle_sql 基础 (5)
- ORACLE_SQL基础(1)
- ORACLE_SQL基础(2)
- ORACLE_SQL基础(3)
- ORACLE_SQL基础(4)
- 插入排序讲解
- 系统进程和内存情况查看
- EDA工具使用笔记——ISE与modelsim联合仿真
- window下使用doc连接mysql插入中文报错解决
- OkHttp教程
- Oracle_SQL 基础之 类型转换
- Shiro框架与Web集成(七)
- 在分类中,和自己的父类关联
- JAVASE,JAVAEE,JAVAME的区别
- 【数据科学】总结 --数据工作的科普
- 循环异步加载排序解决方案
- HNUST 挑战ACM迷宫(DFS)
- Java 字符串优化
- Android 零碎知识点