Oracle
程序媛三妹
VX: cxysanmei1024 同名公众号和知乎:程序媛三妹,请多指教呀
一个希望不断进化的姑娘~
展开
-
Oracle 求一个月内每天 22:00 ~ 第二天早上06:00 之间的数据
一、需求求出 Oracle 数据库表中一个月晚上22:00 ~ 第二天早上06:00 之间的数据量。二、解决办法1、把时间改成标准格式,使用 to_date() 函数;2、所有时间减去 6 小时,统一到同一天;3、之后取到小时单位即可,使用 to_char() 函数。代码如下:TO_CHAR(TO_DATE(MYDATE||' '||MYTIME||':00','y...原创 2019-11-04 14:17:59 · 1881 阅读 · 1 评论 -
Oracle 数据库表中截取 两个 | 之间的内容,substr() instr()
一、需求Oracle 数据库表中截取 两个 | 之间的内容二、使用函数1、substr() 格式1:substr(string string, int a, int b); 格式2:substr(string string, int a) ;解释: 格式1: 1、string 需要截取的字符串 2、a 截取字符串的开始位置(注:...原创 2019-10-20 15:42:29 · 12122 阅读 · 0 评论 -
Oracle 报错:exceeded simultaneous SESSIONS_PER_USER limit
在用 crontab -e 跑定时入库脚本时报错如下:bug 原因:所用 session 数量超过了 用户的 profile 定义的SESSIONS_PER_USER(单个用户可以连接的会话数据)限制解决办法:经查,公司 session 数量限制为3,删除不必要的数据库 session,问题解决。...原创 2019-09-19 14:04:02 · 2924 阅读 · 0 评论 -
Oracle 按照每小时分组,求每组数量
1. 需求:按照插入时间每小时分为一组,求出每组数量数据库原始数据类似如图所示:2. 尝试方法:本以为可以直接使用 substr () 函数取出表示小时的字段,发现格式竟然变了:所以想直接简单粗暴的使用 substr() 函数不可行。3. 解决办法:先将 inserttime 字段的日期变成 字符形式,将 SQL 语句改为:SUBSTR(TO_CHAR(INS...原创 2019-09-26 20:26:35 · 6467 阅读 · 2 评论 -
Oracle 统计某个字段下不同值的个数
Pandas 中自带函数 value_counts() 可以统计出某一列中不同值的个数,若想在 Oracle 表里实现类似功能,需要自己手动写 SQL。假设 ISDELAY 字段有两个值,分别是 yes 和 no, 我们想统计其数量,SQL语句如下:selectcount(CASEWHEN ISDELAY IN 'yes'THEN '1'END) 延误数量,count(CA...原创 2019-10-10 16:17:31 · 8492 阅读 · 3 评论 -
Oracle SQL 求两个时间差
一、需求三个字段分别表示时间,字段 info 格式为:"2019-10-10 05:13",字段 mydate 格式为:"2019-10-10",字段 mytime格式为 :"03:24"。二、解决想求这两个时间的差,首先要把 mytime 带上日期,与 mydate 字段拼接,其次将 info 与 拼接后的字段做差。三、代码实现Oracle SQL语法中两个时间不能直接做...原创 2019-10-10 19:59:55 · 2711 阅读 · 0 评论 -
Oracle 表导入 Hive 表
一、需求需要的数据在两个不同 Oracle 数据库中, 且其中一个数据库中的内容有一份一模一样的存在 hive 表中。二、解决办法将另一个 Oracle 表存入 hive 表中。具体实现:1. 将 Oracle 数据导出 CSV 文件:oracle_example.csv,并上传至服务器 /DATA 路径下;2. 先根据原始 Oracle 表结构在 hive 中建立一个新表...原创 2019-10-11 17:08:44 · 961 阅读 · 0 评论