转换函数

--隐式转换
--字符自动转换成数字
select '100'+'200' from dual;
--字符转换成date
select * from emp where hiredate = '23-5月 -87';--日月年,ddmmyyyy
--数字转成字符
select 100||'abc' from dual;
--日期转换成字符
select '当前时间是:'||sysdate from dual;


--显示转换
--tochar()
--tonumber()
--todate()


/*
转换函数
*/


--to_char(日期|数字,'模式'):把一个日期或者数字按照指定模式转换为字符串


SELECT '现在时间:'||to_char(sysdate,'yyyy-mm-dd') FROM dual;
SELECT '现在时间:'||to_char(sysdate,'yyyy') FROM dual;
SELECT '现在时间:'||to_char(sysdate,'mm') FROM dual;
SELECT '现在时间:'||to_char(sysdate,'hh24') FROM dual;
SELECT '现在时间:'||to_char(sysdate,'dd/mm/yyyy') FROM dual;
SELECT '现在时间:'||to_char(sysdate,'mm/dd/yyyy hh24:mi:ss') FROM dual;
SELECT '现在时间:'||to_char(sysdate,'yyyy-mm-dd day') FROM dual;
SELECT '现在时间:'||to_char(sysdate,'yyyy-mm-dd d') FROM dual;--数字模式
SELECT '现在时间:'||to_char(sysdate,'year-month-ddspth day') FROM dual;--单词模式
SELECT '现在时间:'||to_char(sysdate,'yyyy"年"mm"月"dd"日"') FROM dual;--双引号转义非法日期分隔符
SELECT '现在时间:'||to_char(sysdate,'fmyyyy-mm-dd') FROM dual;--FM去掉多余的前导0或者空格


SELECT '数字:'|| to_char(&input,'fm9990.99') FROM dual;--最大4位整数,两位小数,个位数必须有一个数字
SELECT '数字:'|| to_char(&input,'fm9990.0099') FROM dual;--最大4位整数,两位小数,个位数必须有一个数字,小数必须有两位
SELECT '数字:'|| to_char(&input,'fmL9990.0099') FROM dual;--本地货币符号
SELECT '数字:'|| to_char(&input,'fmL9,990.0099') FROM dual;--千分位


--查询17号入职的员工


select substr(to_char(hiredate,'yyyy-mm-dd'),-2,2) from emp;


select * from emp where substr(to_char(hiredate,'yyyy-mm-dd'),-2,2) = '17';


select * from emp where to_char(hiredate,'dd') = 17;


--查询7月或者8月入职的员工
select * from emp where to_char(hiredate,'mm') in(12,9)
--todate()把字符转换成日期格式
--
select to_date('2016/10/17 10:28:00','yyyy/mm/dd hh24:mi:ss') from dual;


--to_date(日期字符串,'模式'):把一个日期字符串按照指定模式解析为一个日期型


--查询95年以前入职的员工


select * from emp where to_char(hiredate,'yyyy') < '95';


--计算世界末日之后过了多少天




select round(sysdate - to_date('2012-12-21','yyyy-mm-dd')) from dual;


--to_number(数字字符串,'模式'):把一个字符串解析为一个数字型
SELECT *
FROM   emp
WHERE  sal>to_number('$1,600','$9,999');


SELECT *
FROM   emp
WHERE  sal>1600
--
SELECT *
FROM   emp
WHERE  sal>to_number('¥1,600','L9,999');











评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值