目录
(1)case when
例子1:常规用法
例子2:通过case when提取关键字并分类
(2)order by、group by后面不能跟别名
(3)别名问题
(4)类型转换函数
字符串转数字
数字转字符串
日期转字符串
字符串转日期
(5)日期函数
(6)字符串和数字类型与mysql的区别
很多语法和mysql语法不太一样,需要注意
case grade
WHEN 1 then '一年级'
WHEN 2 then '二年级'
WHEN 3 then '三年级'
ELSE '其他'end
比如hobbyIntro的内容可能是“我喜欢打篮球、游泳、看电视”
语法:
case
WHEN hobbyIntro LIKE '%篮球%' then '运动'
WHEN hobbyIntro LIKE '%游泳%' then '健身'
WHENhobbyIntro LIKE '%电视%' then '休闲'
ELSE '其他' end
使用案例:
select
sname AS 学生姓名,
case
WHEN hobbyIntro LIKE '%篮球%' then '运动'
WHEN hobbyIntro LIKE '%游泳%' then '健身'
WHEN hobbyIntro LIKE '%电视%' then '休闲'
ELSE '其他' end AS 兴趣爱好,sage AS 年龄
from STUDENT stu
-- where stu.sage in(8,18,28)
where 年龄 in(8,18,28)
例子:
错误写法:
select
grade AS 年级,
AVG(sage) AS 平均年龄
from STUDENT stu
group by 平均年龄
order by 平均年龄
正确写法:
select
grade AS 年级,
AVG(sage) AS 平均年龄
from STUDENT stu
group by AVG(sage)
order by grade
原因:
和数据库执行sql的顺序有关。mysql做了优化,order by、group by后面可以跟别名,oracle没有会报错
表的后面加别名中间不能有AS,字段后面加别名中间必须有大写或小写的AS(as)。
否则报语法错误
TO_NUMBER('.1234','$9999.999') ——> '$3456.123'
TO_CHAR(数字) -- 数字可以是number、double、float类型
TO_CHAR(date,'yyyy-mm-dd hh24:mi:ss') -- 比如:2022-10-21 17:12:42
TO_DATE('2023-01-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')
提取年份:EXTRACT(YEAR FROM date) --从日期类型中提取年份
提取月份:extract(MONTH FROM date)
提取更多:extract(week/day/minute/second FROM date)
字符串:
多了nvarchar和varchar2类型,都是变长字符串类型,但是也有区别。Oracle字段类型char、varchar2、nvarchar2的区别与使用_oracle varchar2_Programer-zhen的博客-CSDN博客
数字:
多个number类型,int(也可以写成integer)、double类型,都属于number的子类型,
int等同于number(38);
比如,1234.12等同于就可以定义为number(6,2) -- 总共6个数字,2位是小数
到此这篇orcale 时间查询(oracle时间类型查询)的文章就介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/rfx/32136.html