
sql
总结工作中经常用到的sql使用
未来@音律
爱睡觉,爱美食,喜欢奇思妙想;
展开
-
hive通过元数据库查询分区和非分区的数据量及存储占用
【代码】hive通过元数据库查询分区和非分区的数据量及存储占用。原创 2025-03-17 11:20:11 · 133 阅读 · 0 评论 -
删除有外键关联的表报错,Cannot delete or update a parent row: a foreign key constraint fails
【代码】删除有外键关联的表报错,Cannot delete or update a parent row: a foreign key constraint fails。原创 2022-10-21 11:17:43 · 473 阅读 · 0 评论 -
sqlserver management studio(2008R2版本)添加注释列及默认值列
我们在刚安装完sqlserver的时候,管理界面的工具是不会有注释列和默认值列的,如果需要的话,就要去修改注册表。我们看到的值:1,2,6;→ 把它改成:1,2,6,7,17;win+R,输入regedit-打开注册表,在打开之前记得先将管理工具关掉。我这里使用的版本是sqlserver2008R2版本。...原创 2022-08-11 17:19:49 · 1674 阅读 · 0 评论 -
Mysql,Oracle格式化时间为年-月-日 时:分:秒
Mysql,Oracle格式化时间为年-月-日 时:分:秒原创 2022-06-28 11:43:12 · 351 阅读 · 0 评论 -
Oracle查询所有库,及每个库下的表
查询所有表属组:在Oracle里准确的来说并不是库,应该是表属组,查询语句如下select DISTINCT(OWNER) from all_tables查询结果:查询每个库下的所有表:select * from all_tables where OWNER = 'SSBI'查询结果:...原创 2022-05-11 15:46:06 · 6653 阅读 · 2 评论 -
mysql计算总体方差波动
select TABLE_NAME,VAR_POP(HOTS) VARIANCE from tb_mon_hots GROUP BY TABLE_NAME ORDER BY variance desc原创 2022-04-13 14:39:11 · 872 阅读 · 0 评论 -
Mysql和Oracle获取当月数据的sql
Mysql:SELECT * FROM 表名 WHERE DATE_FORMAT( 时间字段, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )Oracle:SELECT * FROM 表名 WHERE TO_CHAR(时间字段,'YYYY-MM')=TO_CHAR(SYSDATE,'YYYY-MM')原创 2022-02-11 10:37:32 · 499 阅读 · 0 评论 -
Mysql,Oracle格式化时间为年月日
Mysql:select to_char(sysdate,'yyyy"年"MM"月"dd"日"') from dual;Oracle:select date_format(now(),'%y年%m月%d日') from dual原创 2021-11-05 14:51:41 · 888 阅读 · 0 评论 -
sql子查询及left join测试总结
今天在使用sql查询的时候发现一个问题,这里总结一下:同样的left join语句,在数据量很大的情况下,Oracle的查询速度比Mysql快很多。所以这里针对Mysql的语句替换为in的子查询,相较之前的速度得到了很大提升,但是还是没有Oracle的查询速度快...原创 2021-10-26 11:17:35 · 703 阅读 · 0 评论 -
Mysql,Oracle字符串转Date函数
str_to_date('2021-06-10 14:01:33','%Y-%m-%d %H:%i:%s')原创 2021-09-27 18:38:19 · 2249 阅读 · 0 评论 -
sql查询字段不等于某值,会忽略该字段为null的数据
今天在查询一个字段不等于'1'的时候发现查询的结果没有该字段为null的数据,这是因为在查询的时候被过滤掉了(目前这种情况在Mysql和Oracle都会出现,已实验)所以我们在查询的时候需要将该字段为null的情况一起查询出来,可以使用以下方式:select MAX(ENDTIME) from PPRT_RS_TASK_COUNT where TASKCOUNT <> '1' or TASKCOUNT is null或者select MAX(ENDTIME) from PPR原创 2021-08-25 11:17:59 · 6833 阅读 · 0 评论 -
Hive通过元数据库获取表的数据量,占用空间(包括分区表的)
SELECT a.TBL_ID, d.`NAME` dbName, a.TBL_NAME, b.PARAM_VALUE numRows, c.PARAM_VALUE totalSizeFROM TBLS AS a left JOIN TABLE_PARAMS AS b on a.TBL_ID = b.TBL_ID left JOIN TABLE_PARAMS AS c on a.TBL_ID = c.TBL_ID left JOIN DBS as d on d.DB_ID = .原创 2021-06-22 16:41:47 · 2764 阅读 · 14 评论 -
mysql和hive获取表备注
hive获取表备注:首先用hive语句得到相关信息describe extended 表名然后通过正则解析获取表备注拿出列名为Detailed Table Information的值,用正则解析:String str = ReUtil.get("parameters:\\{(?!.*?\\().*transient_lastDdlTime.*?comment=(.*?)\\}", info,1);mysql获取表备注:CREATE TABLE test_table ( I原创 2021-04-28 09:23:57 · 2066 阅读 · 0 评论 -
Mysql和Oracle查询为null时设置默认值
Mysql:select ifnull(字段名,0) from 表名;Oracle:select nvl(字段名,0) from 表名;原创 2020-09-19 15:03:36 · 1242 阅读 · 0 评论 -
Mysql和Oracle生成32位UUID的sql语句
Mysql:select replace(UUID(),'-','')Oracle:select lower(sys_guid()) from dual;原创 2020-09-19 11:26:22 · 1602 阅读 · 0 评论 -
Mysql和Oracle获取当天数据的sql语句
Mysql:select * from 表名 t where DATE_FORMAT(t.时间字段, '%Y-%m-%d') = DATE_FORMAT(now(), '%Y-%m-%d')Oracle:select * from 表名 t where TRUNC(t.时间字段) = (select trunc(sysdate) from dual)原创 2020-09-19 10:50:40 · 588 阅读 · 0 评论 -
mysql查询无主键表sql
SELECT table_schema, table_name,TABLE_ROWSFROM information_schema.tablesWHERE (table_schema, table_name) NOT IN (SELECT DISTINCT table_schema, table_name FROM information_schema.columns WHERE COLUMN_KEY = 'PRI' )AND table_schema ='数据库名';原创 2020-08-27 13:25:14 · 740 阅读 · 0 评论 -
navicat如何查看当前mysql的版本
select version() from dual;原创 2019-09-11 17:30:08 · 9827 阅读 · 4 评论 -
mysql,hql查询当天数据的sql语句
mysql:select * from 表名 where 时间字段 >= date(now())and 时间字段 < DATE_ADD(date(now()),INTERVAL 1 DAY);hql:from MetaAudit ma where DateDiff(crt_date,NOW())=0原创 2019-01-05 21:28:47 · 1360 阅读 · 0 评论 -
SQL存储过程使用介绍
在数据库编程过程中经常会用到存储过程 , 相比 SQL 语句 , 存储过程更方便 , 快速 , 安全 ; 先将存储过程的相关介绍和使用方法总结如下 ;1. 存储过程的概念存储过程 (Stored Procedure) 是在大型数据库系统中 , 一组为了完成特定功能的 SQL 语句集 , 存储在数据库中 , 经过第一次编译后再次调用不需要再次编译 , 用户通过指定存储过程的名字并给出参数 (...转载 2018-08-10 10:42:11 · 174 阅读 · 0 评论