当前位置:网站首页 > R语言数据分析 > 正文

orcale 时间查询(oracle时间类型查询)



目录

(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时间类型查询)的文章就介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • argparse模块用法(archwing模块)2025-03-13 23:00:08
  • github不能访问了(githubusercontent无法访问)2025-03-13 23:00:08
  • hipine官网(hip store)2025-03-13 23:00:08
  • msvcp100.dll无法继续执行代码(vcruntme140.dll无法继续执行代码)2025-03-13 23:00:08
  • sudo 未找到命令(sudo rpm -ivh找不到命令)2025-03-13 23:00:08
  • ubuntu-ports 镜像(ubuntu ports 镜像)2025-03-13 23:00:08
  • pureracepr怎么读(prautice怎么读)2025-03-13 23:00:08
  • beyondcompare比较文件夹差异(beyondcompare比较文件夹差异 忽略时间)2025-03-13 23:00:08
  • arrport怎么读(arrved怎么读)2025-03-13 23:00:08
  • redismanager连接redis(redismanager连接不上redis)2025-03-13 23:00:08
  • 全屏图片