- 博客(20)
- 收藏
- 关注
原创 mysql日期转换报错
查询select在过滤里面用str_to_date转换datetime类型日期=str_to_date(‘2023-11-22’)并没有报错,但是插入的时候报truncate incorrect date value:‘2022-04-24 00:00:00’。随即将str_to_date换成date_format(日期,’%Y-%m-%d’)='2023-11-22’后成功插入。但是报错的这个日期并没有问题,然后考虑会不会因为本身就是datetime类型,没必要再转换日期类型导致。
2023-11-27 14:40:50 522 1
原创 pg库建表
drop table if exists 库名.表名;create table 库名.表名(字段 类型,字段 类型) with ( OIDS=FALSE, APPENDONLY=TYPE, COMPRESSTYPE=ZLIB, COMPRESSLEVEL=5)—压缩DISTRIBUTED BY (主键)—分布键PARTITION BY RANGE(时间)—分区键(partition pm_20221026start (‘2022-10-26’:: DATE) WITH ( APPE
2022-10-18 14:51:23 1628
原创 extract函数
#extract()函数用于从一个date或者interval类型中截取到特定的部分\n\n以下为oracle的用法,oracle 不支持提取周几,但是在postgresql中可以使用count(distinct extract(day/month/year/dow 字段))来提取几个月几周几天等
2022-10-13 20:56:51 1285
原创 收集执行语录
收集统计信息select 库名.yhsc_analyze(‘库名.目标表名’,‘系统时间’,‘系统时间’)压缩with(oids=false,appendonly=type,orientation=row,compresstype=zlib,compresslevel=5)
2022-06-15 10:41:51 89
原创 创建临时表
方法一:create table 表名 as(取值逻辑sql) with date ;————distributed by (分布字段)方法二(针对已经有的表):delect from 库名.表名 where date_dt=系统时间insert into 库名.表名(字段)取值逻辑sql;备注:可以多次插入方法三(针对插入时用临时表):delect from 库名.表名 where date_dt=系统时间insert into 库名.表名(字段)with 临时表名 as (取值逻
2022-05-12 17:47:53 4363 1
原创 Excel文档函数
index(数据元说明! A:F, match(J748,数据元说明! c:c,0),5)数据元说明 :表名A: F :范围match(J745,数据元说明! c:c,0) :行数5 :列数J745 :查询的目标值数据元说明!c:c :这个表中的这个范围中找这个目标值在第几行...
2022-04-06 10:29:31 117
原创 分析函数之lag/lead
分析函数之lag/leadlag是求前面n行的值lag(目标字段,往前几行,默认值(不给超出范围就是null)over (partirion by 分组字段 orser by 排序asc/desc)lead是求后面n行的值lead(目标字段,往前几行,默认值(不给超出范围就是null)over (partirion by 分组字段 orser by 排序asc/desc)......
2021-09-15 22:36:49 161
原创 2021-09-15
分析函数的计算排名①row_number () over(partition by 分组字段 order by 排序 asc/ desc)不会计算相同的数据依次排名②rank() over(partirion by 分组 order by asc/desc)会计算相同的数据,并空出来对应的排名③dense_rank() over(partirion by 分组字段 over by asc/desc)会计算相同的数据,但是不会空出排名eg:数据 row_number rank
2021-09-15 22:30:56 86
原创 2021-09-15
##ORACLE 伪列①rownum :主要用来过滤,不是唯一性,依次排序!用rownum来做条件的时候只能用<或者≤,如果要用其他符号就需要用到子查询套出来先②rowid:是在数据插入表的时候的一个物理位置,是唯一的,所以可以去重,它在数据插入数据库时生成,max( rowid)最新数据,min( rowid)最老数据备注:伪列就像表里的列,但是在表里不存在,是临时的,并且只能查询不能进行增删改查,只在oracle库里存在...
2021-09-15 22:19:20 60
原创 2021-09-13
聚合函数聚合函数对多行数据进行操作,并返回一个结果,通常会结合分组条件来使用max()求最大值min()求最小值avg()求平均值sum()求和count()计数(不会计算空值,会返回有多少行非空值)备注:①聚合函数可以单独查询,也可以和其他聚合函数一起使用,但是它不能跟未分组的字段一起查询②聚合函数不能放在where后面当条件,如果要就放在having后面...
2021-09-13 21:58:23 56
原创 2021-09-12
连接查询sql写法*select查询内容from 表1 inner join / left join /right join/full outer join 表2on关连字段join 表3on关连字段(从表字段后面要加上一个(+))where/and条件备注:内连接可以用where或者and,其他要用and,否则会失去主表一部分信息oracle 关连查询select查询内容from 表1,表2,表3where 关连字段,关连字段and 过滤条件备注:oracle写法一定要有关
2021-09-12 14:21:50 95
原创 2021-09-11
基本查询select 查看的信息/代表所有内容 ⑤from 表名 /表名 别名 ①where 条件(用and/ or/ between…and) ②group by 分组字段 ③having 分组后的条件(里面只能跟分组字段或者函数) ④order by 排序(desc 倒叙asc 正序) ⑥备注每一句话结束用;结束*
2021-09-11 16:14:44 74 1
原创 2021-01-22
截取这个月的月头日期date_trunc(‘month’,date(系统时间))去年同期的月底时间的天数day(date_add(‘day’,-1,date_add(‘month’,-11,date_trunc(‘month’,date(系统时间)))))去年同期的时间①date(系统时间)=date_add(‘month’,-12,date(系统时间))②concat(cast(year(date(系统时间))-1 as varchar),’-’,substr(cast(系统时间 as va
2021-01-22 09:48:27 195
原创 2021-01-15
拼接第一种:cancat(字符,字符,字符)中间只能用逗号进行等额,并且只能是字符,比较适合可以字段跟字段进行拼接第二种:array_join(map_keys(histogram(case when 条件 then 需要拼接的结果 end)),’、’)相当于把符合结果的值拼接起来,比如前三后三,然后用顿号隔开...
2021-01-15 16:49:01 73
原创 2021-01-06
建表drop table if exists 表名create table if not exists 表名(字段名称 字符类型(siring),字段名称 数值类型(decimal(32,2))comment ‘备注名称’partitionend by (part_dt string comment’日分区 格式YYYY-MM-DD)row format delimited fields terminated by ‘\001’ null defined as ‘’
2021-01-06 17:20:15 184
原创 grouping sets的使用
grouping sets的使用在group by 后面增加grouping sets 类似是增加’整体’的作用。把字段不为整体的字段写出来,没有写的就是为整体,会根据这个模式自动生成一行数据!例如:group by二级机构,三级机构,四级机构grouping by((二级机构),(二级机构,三级机构),(二级机构,三级机构,四级机构)它能拿出分别二级机构,三级机构,四级机构进行每个字段单独分组并其他字段汇总的一列。因为二级机构会受三级的影响,三级会受四级的影响,所以四级分组后,三级
2020-12-29 10:37:55 703
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人