首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Excel公式练习35: 拆分连字符分隔数字并放置在同一

本次练习是:在单元格区域A1:A6,有一些数据,有的是单独数字,有的是由连字符分隔一组数字,例如13-16表示13、14、15、16,现在需要将这些数据拆分并依次放置在D,如下图1所示。...公式解析 公式first和last是定义两个名称。...因为这两个相加数组正交,一个6行1数组加上一个1行4数组,结果是一个6行4数组,有24个值。...其实,之所以生成4数组,是为了确保能够添加足够数量整数,因为A1:A6最大间隔范围就是4个整数。...要去除不需要数值,只需将上面数组每个值与last生成数组相比较,(last数组生成值为A1:A6每个数值范围上限)。

3.6K10

函数周期表丨时间丨值丨DATEDIFF

[1240] DATEDIFF函数 语法= DATEDIFF(, , ) DATEDIFF函数属于“值函数”之一。...可能很多小伙伴平常并没有注意到这个函数,但是这却是一个很有用函数。假如:一个事实表,有两个日期,分别代表下单日期,出货日期,我想知道这期间时间间隔,用DATEDIFF函数就可以轻松搞定。...参数 第一参数:开始日期。一个返回具体日期表达式,或者标量值。如果返回结果是多个的话,在没有进行处理情况下这个函数返回结果会有误差。 第二参数:结束日期。一个返回具体日期表达式,或者标量值。...如果返回结果是多个的话,在没有进行处理情况下这个函数返回结果会有误差。需要注意:结束日期不能大于开始日期,否则返回错误。...DATEDIFF函数示例。

62600
您找到你想要的搜索结果了吗?
是的
没有找到

在 MySQL 处理日期和时间(五)

第五章节:如何在 SELECT 查询中使用时态数据 在 MySQL 日期和时间系列最后一部分,我们将通过编写 SELECT 查询来将迄今为止学到所有知识付诸实践,以获得对数据日期相关细节...从 Datetime 中选择日期 数据库从业人员在尝试查询日期时遇到首要挑战之一是大量时间数据存储为 DateTime 和 Timestamp 数据类型。...例如,Sakila 示例数据库将 customer 表 create_date 存储为 Datetime: 因此,如果我们尝试选择在特定日期创建客户记录,就不能只提供日期值: 一个简单解决方法是使用...获取两个日期之间差异 执行确定某件事发生多久之前查询是非常常见。在 MySQL ,这样做方法是使用 DATEDIFF() 函数。它接受两个日期值并返回它们之间天数。...以下是一个简单示例: 请注意,在上面的示例DATEDIFF() 让我们知道第一个日期比第二个日期晚 10 天。

4.1K10

SQL函数 DATEDIFF

从enddate减去startdate,以确定两个日期之间日期部分间隔。 描述 DATEDIFF函数返回两个指定日期之间指定日期部分差整数。日期范围从开始日期开始,到结束日期结束。...Datepart 参数 日期部分参数可以是下列日期/时间组件之一,可以是全名(日期部分列)或其缩写(缩写)。这些datepart组件名称和缩写不区分大小写。...12:00:00') 分数秒 DATEDIFF返回以毫秒(3位整数)、微秒(6位整数)或纳秒(9位整数)表示小数秒,而不管startdate和enddate小数位数精度是多少。...在动态SQL,如果您提供了无效日期部分、开始日期或结束日期,则DATEDIFF函数将返回一个NULL值。 没有发出SQLCODE错误。...在下面的示例,每个DATEDIFF返回1,因为日期年份部分相差1。

3.3K40

图解SQL面试题:如何比较日期数据?

【题目】 下面是某公司每天营业额,表名为“日销”。“日期”这一数据类型是日期类型(date)。 请找出所有比前一天(昨天)营业额更高数据。...2.本题日销表交叉联结结果(部分)如下。这个交叉联结结果表,可以看作左边三是表a,右边三是表b。 红色框每一行数据,左边是“当天”数据,右边是“前一天”数据。...代码部分: elect * from 日销 as a cross join 日销 as b on datediff(a.日期, b.日期) = 1; 得到结果: 3.找出a销售额大于b销售额数据...所以只需要提取中上表ID、日期、销售额(万元)。...结合一开始提到两个处理时间方法,最终答案及结果如下: select a.ID, a.日期, a.销售额(万元) from 日销 as a cross join 日销 as b on datediff

15610

Power PivotDAX时间函数

差异情况 差异原因 Excel函数 Dax函数 函数名称 DateDif DateDiff 计算方式 根据实际时间 只根据计算条件 2....案例 DateDif(date(2018,1,30),date(2018,2,1),m)=0 DateDiff(date(2018,1,30),date(2018,2,1),Month)=1 (三) 自动返回时间函数...填写1-12月份数字 往前推或者往后延做成年份日期表 B) 返回 表——单列日期表 C) 注意事项 如果数据表没有日期则会出错 参数为正数则表示会计年份从1月往后算,负数则是从1月往前算。...D) 作用 自动生成会计日期 E) 案例 自动生成时间日历表 CALENDARAUTO() 如果数据模型日期范围是2018/5/1—2019/6/30,则生成日期表范围为2018/1/1—2019.../12/31 生成会计年度为每年4月 CALENDARAUTO(3) 如果数据模型日期范围为2018/1/1—2018/12/31,则生成日期表范围为2017/4/1—2019/3/31。

1.8K10

Hive常用函数案例实操

分组统计,查出各部门中男女个数: 3. 行转列: 4. 转行 5. 综合练习 6. 查询顾客购买明细及月购买总额 7. 将每个顾客cost按照日期进行累加 8....求前20%订单数据 13. percent_rank():这条数据在这个数据百分之多少,一般也是配合有序窗口使用 14. rank():排序函数(排序相同时会重复,总数不会变) 15. dense_rank...100天日期 18. date_sub(current_date(),100) 返回当前日期前100天日期 19. datediff(date1,date2) 返回两个日期之间日期差 20....: 将每个顾客cost按照日期进行累加: 求明细,以及每个月有哪些顾客来过: 查询每个顾客上次购买时间: lag(col,n,default_val):某一往前第n行数据,他一般配合有序窗口使用...(),100) 返回当前日期前100天日期 datediff(date1,date2) 返回两个日期之间日期差 连续两天购物的人:

88550

浅谈 T-SQL高级查询

(10)”是将基本工资类型转换为字符串 where 职务='运维工程师' ?...显示所有人姓名和年龄: select 姓名,datediff (yy,出生日期,getdate()) as 年龄 from ***表名*** ?...*表名* where 出生日期>='1990-01-01' 分组查询: 将表数据通过 group by 子句分类组合,再根据需要得到统计信息,只显示限定条件组,需要使用 HAVING 子句 查询表每个职务平均工资...函数综合应用: 查询未满30岁员工生日和年龄,并且计算出距离30岁天数,最后用字符串拼接显示结果: 查询正确结果 select 姓名,出生日期,DATEDIFF(YY,出生日期,GETDATE...()) 年龄, DATEDIFF(DD,GETDATE(),DATEADD(YY,30,出生日期)) 距离三十岁天数 from test where DATEDIFF(YY,出生日期,GETDATE

1.7K30

SQL题目

:00' AND date_format(OUT_datetime,'%H:%i')>'19:00' group by a.course_id,b.course_name 13 行列转换   描述:表记录了各年份各部门平均绩效考核成绩...by t1.regist_date, datediff(t2.active_date, t1.regist_date) ) t 16 两个日期间所有日期 --POSEXPLODE 取index和value...id ,dt ---如果间隔超过一天,则flag+1,flag从最小日期开始累积...  如下为平台商品促销数据:字段为品牌,打折开始日期,打折结束日期,计算每个品牌总打折销售天数,注意其中交叉日期,比如vivo品牌,第一次活动时间为2021-06-05到2021-06-15,第二次活动时间为...1总和 select id, sum(days>0,days+1,0) days---会有负数,负数是已经被上一条记录覆盖了,不累加 from ( select id, datediff

24220

一道SQL题多种解法

连接条件是店铺名称相同并且天数相差1天。这种方式无论是在MySQL还是Hive中都适用。...函数处理日期差值,每一条记录相邻两个日期在天数上依次加一,不满足这样条件为NULL值。...同样我们需要处理日期差值,然后使用where条件过滤amount>0记录,并筛选出店铺名称即可,这里使用了datediff函数和to_date函数。...倒数第三是“年月日”“日”,倒数第二是对于每一个店铺内部,按照日期降序排列序号,最后一是二者和。...可以观察到,店铺有连续销售日期记录,这个“和”是一致,且有连续几天,同样和就会出现几次。销售日期如果不连续,则和值也不一样。

69610

SQL总结大厂真题-连续登录超过N天用户(一)

数据已经按照用户日期去重,请查出连续登录超过4天用户ID 2.考点 row_number() 函数 、datediff()函数 、日期格式处理 对于连续登录问题处理逻辑,对于同一个用户,如果连续登录...,row_number排序和 登录日期与月初日期差是一个恒定值,如果存在非连续,则值不同。...这也就说明,只要统计diff值相同行数,就能计算出每次连续登录天数。...3.SQL step1:处理日期格式,计算登录日期与月初日期('2022-01-01')差date_diff select user_id, login_date, datediff...yyyyMMdd'),'yyyy-MM-dd'),'2022-01-01') as date_diff from t_login_log; 执行结果 step2:row_number()开窗,计算每个用户每个登录日期排序

31710

SQL好写法

> 为true行才被插入vt4     5.GROUP BY:按GROUP BY子句中列表对vt4行分组生成vt5     6.CUBE|ROLLUP:把超组(supergroups)插入vt6...    9.DISTINCT:将重复行从vt8去除产生vt9     10.ORDER BY:将vt9行按order by子句中列表排序生成一个游标vc10     11.TOP:从vc10开始处选择指定数量或比例行生成...: WHERE DATEDIFF(DAY, 日期,'2010-06-30')=0 --应改为: WHERE 日期>='2010-06-30' AND 日期 <'2010-07-01' WHERE DATEDIFF...(DAY, 日期,'2010-06-30')>0 --应改为: WHERE 日期 <'2010-06-30' WHERE DATEDIFF(DAY, 日期,'2010-06-30')>=0 --应改为:...WHERE 日期 <'2010-07-01' WHERE DATEDIFF(DAY, 日期,'2010-06-30')<0 应改为: --WHERE 日期>='2010-07-01' WHERE DATEDIFF

91420

SQL系列(二)最常见业务实战

SQL系列(二)最常见业务实战 本文将通过构建三张表,几个SQL实例带大家掌握最常见业务需求,同时这些实例也覆盖了面试80%考点。...提取所有的题目ID,以及对应试卷,科目,图片信息 知识点:正则、json提取、转多行 select questionid ,id as paperid ,course...2021-12-31' )re on a.uid=re.uid and re.dt>=a.dt group by a.dt cohort cohort也叫同期群分析,常用于观察同一时间段新用户在未来一段时间表现...常见方法有三种:row_number、lag/lead、sum(if[exp])。其核心是按照日期排序,将连续日期等换成同一分组。...MySQL习惯于先关联再整体上筛选条件和字段,但在Hive,习惯构造好一个个子查询,然后再关联。这就要求对子查询尽量做到精简,能过滤先过滤,能汇总先汇总。

2.9K20

皕杰报表(知识小结)

K,J,I,H,G,Fgetfield例1:假设数据集ds1存放了一张九九表,我们将九九表第一行看做是x行,第一看做是y,那么: ds1.getfield(2,3),结果为:6ds1.getfield...计算两个日期型数据差值语法:dateDiff(start_date,end_date[,unit])1.例1:dateDiff('2011-11-12','2012-12-25') 返回409;2.例...函数说明:从给定日期型数据,算出相差n天后日期数据语法:dateafter(date, n)1.例1:dateafter(' 1992-2-3',5),结果为:1992-2-8tostr函数说明...-24 15:32:32"2.例2:tostr(1234.56,"#,###.#")返回:1,234.63.例3:tostr(1234.56,"$#.#")返回:$1234.6daynum函数说明:从日期型数据...mid1.例1:min(F1{}),统计F1单元格最小值,F1为可扩展单元格。 2.例2:min(A1:E1),统计A1单元格到E1单元格最小值。

52830
领券