1、获取今天日期 $ date -d now +%Y-%m-%d 或者 $ date +%F 2、获取明天日期 $ date -d next-day +%Y-%m-%d $ date -d tomorrow...+%Y-%m-%d 3、获取昨天日期 $ date -d yesterday +%Y-%m-%d 或者 $ date -d last-day +%Y-%m-%d 或者 $ date -d "1 days...ago" +%Y-%m-%d ##"n days ago" 表示n天前的那一天 4、获取取30天前的日期 $ date -d "30 days ago" +%Y-%m-%d 5、使用负数以得到相反的日期...' +%F #获取两星期以后的日期 # 三年前 date -d '3 year ago' +%Y-%m-%d # 五年后 date -d '-5 year ago' +%Y-%m-%d date...–date=datestr] [–set=datestr] [–help] [–version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]] 说明 : date 能用来显示或设定系统的日期和时间
代码书写了一个时间工具类,可以返回当前日期或指定日期的前N天的日期集合,如果传入的开始时间和结束时间间隔太大,还可以自动适应时间。.../** * 用户可以传入startTime或endTime任意一个或两个,也可以不传入 * 当传入的时间间隔太长时,默认返回最近的nday * plus: StringUtils为org.apache.commons.lang.StringUtils...getNDaysList(String startTime, String endTime, int nday) { int ndaycurrent = nday - 1; // 返回的日期集合...startTime) && StringUtils.isBlank(endTime)){ //如果用户只选择了startTime,endTime为null,startTime + 10的日期...) && StringUtils.isNotBlank(endTime)){ //如果用户只选择了endTime,startTime为null,endTime - 10的日期
JAVA获取30天或某段范围日期的方法,在项目使用中比较频繁。...首先,我们创建一个formatter对象来定义日期格式(例如:“yyyy-MM-dd”)。然后,我们获取当前日期并创建一个空的列表来存储日期字符串。 接下来,我们使用循环来生成最近30天的日期。...30天的日期 LocalDate date1 = LocalDate.now().minusDays(30); //获取后30天的日期 LocalDate...(2); //获取后2周的日期 LocalDate date4= LocalDate.now().plusWeeks(2); //获取前2月的日期...第一天或最后一天 * @param weeks 0本周,1下周,-1上周 以此类推 * @param isFirst true获取开始时间 false获取结束时间 * @
1) NOW():获取当前日期和时间 2) DAY():获取日期中的天 3) MONTH():获取日期中的月 4) YEAR():获取日期中的年 5) 日期转换函数...2.字符串函数 1) UPPER()/LOWER():大小写互转 2) REPLACE():搜索并替换字符串中的子字符串 3) SUBSTRING():从具有特定长度的位置开始的最一个子字符串... 4) TRIM():去除前后空格 5) LENGTH():获取字符串长度 6) CONCAT():合并字符串函数,返回结果为连接参数产生的字符串,参数可以是一个或多个 代码案例...select uuid(),replace(uuid(),'_','') from dual; -- 3) SUBSTRING():从具有特定长度的位置开始的最一个子字符串 select substring...常与GROUP BY一起使用,也可单独使用 2) AVG():求平均值。常与GROUP BY一起使用,也可单独使用 3) MAX():求最大值。
子查询与临时表格 我们之前所涉及到的都是从数据库中检索数据的单条语句,但当我们想要检索的数据并不能直接从数据库表中获取,而是需要从筛选后的表格中再度去查询时,就要用到子查询和临时表格了。...子查询与临时表格所完成的任务是一致的,只不过子查询是通过嵌套查询完成,而另一种是通过WITH创建临时表格进行查询。...构建子查询 构建子查询十分简单,只需将被查询的语句放在小括号里,进行嵌套即可,但在使用时一定要注意格式要清晰。...多数情况下,组合相同表的多个查询所完成的任务与具有多个WHERE子句的一个查询是一样的。...`DATE_PART`函数 DATE_PART 可以用来获取日期的特定部分,如获取日期2018-10-6的月份,只会获得一个结果10,这是它与DATE_TRUNC的最大区别。
rpad:右填充 instr:获取子串第一次出现的索引 2、数学函数 ceil:向上取整 round:四舍五入 mod:取模 floor:向下取整 truncate:截断 rand:获取随机数,返回0...,则此语句称为外查询或主查询 二、分类 1、按出现位置 select后面: 仅仅支持标量子查询 from后面: 表子查询 where或having后面: 标量子查询 列子查询 ...行子查询 exists后面: 标量子查询 列子查询 行子查询 表子查询 2、按结果集的行列 标量子查询(单行子查询):结果集为一行一列 列子查询(多行子查询):结果集为多行一列...行子查询:结果集为多行多列 表子查询:结果集为多行多列 三、示例 where或having后面 1、标量子查询 案例:查询最低工资的员工姓名和工资 ①最低工资 select min(salary) from...,写法为char(M),最大长度不能超过M,其中M可以省略,默认为1 varchar:可变长度的字符,写法为varchar(M),最大长度不能超过M,其中M不可以省略 三、日期型 year年 date日期
返回当前系统时间,不返回日期 SELECT CURTIME(); # 获取指定部分的日,月,年等信息(小时,分钟,秒) SELECT YEAR(NOW()); SELECT MONTH('1998-...*,boy.* FROM beauty b CROSS JOIN boys boy; 外连接 子查询 含义: 出现在其他语句中的select语句,称为子查询或内查询 外部出现的查询语句,称为主查或外查询...外部出现的查询语句,称为主查或外查询 分类: 按子查询出现的位置: SELECT 后面(仅支持标量子查询) FROM 后面(支持表子查询) WHERE或HAVING 后面(标量子查询,列子查询...,all) 子查询的执行优先于主查询,主查询的条件用到了子查询的结果 */ # 标量子查询 # 查询谁的工资比Abel高 # 1....WHERE location_id IN(1400,1700) ); # 行子查询(一行多列或多行多列) # 查询员工编号最小并且工资最高的员工信息(不一定存在同时满足两个条件的员工)
概念 语法 查询语句方法 在数据库中查询符合条件的数据 SELECT 字段列表 FROM 查询表名 WHERE 条件 GROUP BY 分组字段 HAVING 条件 ORDER BY 排序字段名 ASC...num个位置开始长度为len的子字符串 substring(‘javaMysqlOracle’,5,5)返回结果:Mysql 时间日期函数 作用 举例 curdate() 获取当前日期 curdate...//在小括号中,再来一次查询,作为一个条件,来与条件1判断 NOT IN 子查询 问题:如果我们想要获得与in子查询相反的结果, 解决方案:不需要去进行过多的代码操作,只需要在代码中的 in 前加一个...语句 select from 或视图> [where 查询条件>] [group by 的字段名>] [having条件>] [order by 的字段名...>[asc或deac]] limit字句 select from 或视图> [where 查询条件>] [group by 的字段名>] [order by <
,每张表具有唯一的表名用来标识自己 3、表中有一个或多个列,列又称为“字段”,相当于java中“属性” 4、表中的每一行数据,相当于java中“对象” 四、常见的数据库管理系统 mysql、oracle...将字符转换为日期 datediff(date1,date2) 获取两个日期之间的天差数 year(date) 获取年 month(date) 获取月 NOW SELECT NOW(); CURDATE...`id`; 子查询 一、含义 嵌套在其他语句内部的 select 语句称为子查询或内查询 外面的语句可以是 insert、update、select 等,一般 select 作为外面的语句较多 外面如果为...select 语句,则此语句称为外查询或主查询 二、分类 按出现位置 select 后面 仅仅支持标量子查询 from 后面 表子查询 where 或 having 后面 标量子查询 ...,写法为 char(M),最大长度不能超过 M,其中 M 可以省略,默认为 1 varchar: 可变长度的字符,写法为 varchar(M),最大长度不能 M,不可省略 M 三、日期型 year 年
外连接:outer join on 连接不仅限于2张表,也可以是多张表 子查询: 一个语句包含另一个语句 where后 from后 子查询也不仅限于2条语句,也可以是多条sql语句 -- $日期函数:...-- 获取日期是本年的第几天, 值在1到366之间 SELECT DAYOFYEAR('1998-02-03'); -- 获取日期是本月的第几天, 值在1到31之间 SELECT DAYOFMONTH...('1998-02-03'); -- 获取日期是本周的第几天, 值在1到7之间 SELECT DAYOFWEEK('1998-02-03'); -- 获取日期的星期索引 SELECT WEEKDAY...('1999-03-16 13:23:00'); -- 获取日期的月份英文名 SELECT MONTHNAME('1998-02-09'); -- 获取日期是星期几 SELECT DAYNAME(...CEIL(X),CEILING(X),向上取整函数,获取比X大的最小整数 SELECT CEIL(3.3),CEILING(-3.3); -- FLOOR(X),向下取整函数,获取比X小的最大整数
字符函数 代码如下(示例): concat:连接 substr:截取子串 upper:变大写 lower:变小写 replace:替换 length:获取字节长度 trim:去前后空格 lpad:...左填充 rpad:右填充 instr:获取子串第一次出现的索引 2....5、流程控制 代码如下(示例): ①if(条件表达式,表达式1,表达式2):如果条件表达式成立,返回表达式1,否则返回表达式2 ②case情况1 case 变量或表达式或字段 when 常量1...select sum(distinct 字段) from 表; ⑤count函数 count(字段):统计该字段非空值的个数 count(*):统计结果集的行数 案例:查询每个部门的员工个数 1 xx...存储引擎,count(*)和count(1)效率>count(字段) ⑥ 和分组函数一同查询的字段,要求是group by后出现的字段 ---- 总结 例如:以上就是DQL语言常见函数 ,本文仅仅简单介绍
开始,通过CONNECT BY PRIOR ID = CREATED_BY获取子节点数据;向上递归则通过CONNECT BY PRIOR CREATED_BY = ID获取父节点数据。...START_DATE为空或当前日期大于START_DATE,且END_DATE为空或END_DATE大于当前日期的记录。...,否则返回第二个子查询的结果。...视图,可以获取指定视图的创建语句。...四、其他操作技巧 (一)获得最新数据 (根据指定字段排序并分组) 获取每个分组中最新的数据: SELECT FI.* FROM ( SELECT T.*, ROW_NUMBER ( ) OVER
搭配使用---用来去重 8.和分组函数一同查询的字段要求是group by后的字段 分组查询 Group by 子句 例子 添加分组后的条件筛选要用having,不能用where 分组查询中筛选条件分为两类数据源...4.获取小时 SELECT HOUR(NOW()); 5.获取分钟 SELECT MINUTE(NOW()); 6.获取秒 SELECT SECOND(NOW()); 5.str_to_date 将日期格式的字符变成指定格式的日期类型...: 右外去交集: 全外连接: 全外连接去交集: ---- 子查询 含义 出现在其他语句中的select语句,成为子查询或者内查询 外部的查询语句,成为主查询或外查询...: 标量子查询(结果集只有一行一列) 列子查询(结果集只有一列多行) 行子查询(结果集可以有一行多列) 表子查询(结果集一般为多行多列) ---- where或having后面 标量子查询(单行子查询)...=1 ); 注意 子查询的执行优先于主查询执行 注意非法子查询,即标量子查询的结果必须是一行一列,不然对于表量子查询来说就属于非法子查询 在使用子查询时,子查询的查询条件的值由外部查询来提供
null; SELECT 数据过滤 and操作符查询多个条件,每多一个条件就多加一个and #查询粉丝数为450且文章类型为Python的Article信息 select * from Article...where fans=450 and type='Python'; or操作符 查询匹配任一条件的行 #查询粉丝数为300或400的Article信息 select * from Article where...日 时:分:秒 select sysdate(); #获取系统当前日期 年-月-日 select curdate(); #获取系统当前时间 时:分:秒 select curtime(); #获取给定日期的年份...——获取当前系统时间的年份 select year(CURDATE()); #获取给定日期的月份——获取当前系统时间的月份 select month(CURDATE()); #获取给定日期的天数——...#MAX()函数返回某列的最大值 #查询阅读量最多的文章类型 select max(fans) as '受众最大值' from Article; #MIN()函数返回某列的最小值 select min
=18 or classid =19) and sex='m' 因为圆括号具有较AND或OR操作符高的计算次序,数据库首先过滤圆括号内的OR条件。...这时,SQL语句变成了获取18期或19期的学员并且要求是女生 IN与NOT IN操作符用来指定条件范围,范围中的每个条件都可以进行匹配。...使用这些函数,MySQL查询可用于检索数据,以便分析和报表生成 确定表中行数(或者满足某个条件或包含某个特定值的行数)。 获得表中行组的和。...找出表列(或所有行或某些特定的行)的最大值、最小值和平均值。 上述例子都需要对表中数据(而不是实际数据本身)汇总。...这使我们能够对行进行计数,计算和与平均数,获得最大和最小值而不用检索所有数据 目前为止的所有计算都是在表的所有数据或匹配特定的WHERE子句的数据上进行的。
: case 要判断的字段或表达式 when 条件1 then 要显示的值1或语句1 when 条件2 then 要显示的值2或语句2 when 条件3 then 要显示的值3或语句3 .........: case when 条件1 then 要显示的值1或语句1 when 条件2 then 要显示的值2或语句2 when 条件3 then 要显示的值3或语句3 ...... else 要显示的值.../* 含义: 一条查询语句中又嵌套了另一条完整的select语句,其中被嵌套的select语句,称为子查询或内查询, 在外面的查询语句,称为主查询或外查询 分类: 按子查询出现的位置: select...后面: 仅支持标量子查询 from后面: 支持表子查询 where或having后面: 标量子查询(单行) 列子查询(多行) 行子查询 exists后面(相关子查询) 表子查询...后面、having后面,但一般放在条件的右侧 3、子查询优先于主查询执行,主查询使用了子查询的执行结果 4、子查询根据查询结果的行数不同分为以下两类: ①单行子查询
如果分组列中具有 NULL 值,则 NULL 将作为一个分组返回。如果列中有多行 NULL 值,它们将分为一组。 group by 子句必须出现在 where 子句之后,order by 子句之前。...解释 id id代表select查询的序列号,包含一组数字,表示查询中执行select子句或操作表的顺序 ,有以下三种情况: id相同,执行顺序由上至下 id不同,如果是子查询,id的序号会递增,id值越大优先级越高...SIMPLE 简单的select查询,查询中不包含子查询或者UNION PRIMARY 查询中若包含任何复杂的子部分,最外层查询则被标记为PRIMARY SUBQUERY 在SELECT或WHERE列表中包含了子查询...:若UNION包含在FROM子句的子查询中,外层SELECT将被标记为:DERIVED UNION RESULT 从UNION表获取结果的SELECT table table指的就是当前执行的表 type...也就是索引列的cardinality的值与表中数据的总条数差距越大,即使查询的时候使用了该索引作为查询条件,实际存储引擎实际查询的时候使用的概率就越小。
用法等同于select * from 表名 where 表达式1 or 表达式2; 数据集:可以是具体的某几个值:值a,值b,…..值n,也可以是通过一个子查询得到的数据集 比如: select * from...; 注意:多表查询一定要先写关联条件在分组 比如: 1、统计每个标的投资总额、投标人数、总投资金额、最大与最小投资金额 select LoanId,count(id),sum(amount),min(...member; 3、求字段A的平均值 eg: select avg(leaveamount) from member; 日期函数 1、获取系统当前时间syndate();。...select syndate() ; 2、获取系统当前日期curdate()。select curdate(); 3、获取系统当前时间curtime()。...select curtime(); 4、获取给定日期的年份:year(date)。select year(2016); 5、获取给定日期的月份:month(date)。
结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。...4.1 单表查询 查询语句的语法规则 SELECT FROM [WHERE 查询条件>] [ORDER BY ] [GROUP BY ] # select... FROM [WHERE 查询条件>] [ORDER BY ] [GROUP BY ] [HAVING 的查询条件>] 分组查询通常用于统计,一般和聚合函数配合使用...(expression) 返回一个表达式的平均值,expression 是一个字段 CEIL(x)/CEILING(x) 返回大于或等于 x 的最小整数 FLOOR(x) 返回小于或等于 x 的最大整数...union合并结果集后会取出重复的记录 union all 合并结果集后不会移除重复的记录 4.5.4 子查询 # 子查询 嵌套查询 # 查询出班级为 java1班 的所有的学员信息 select
,不包含时间; 3)curtime():只返回系统当前的时间,不包含日期; 4)获取日期和时间中年、月、日、时、分、秒; 5)weekofyear():获取当前时刻所属的周数; 6)quarter...():获取当前时刻所属的季度; 7)str_to_date():将日期格式的字符串,转换成指定格式的日期; 8)date_format():将日期转换成日期字符串; 9)date_add() +...: 4)获取日期和时间中年、月、日、时、分、秒; 获取年份:year(); 获取月份:month(); 获取日:day(); 获取小时:hour(); 获取分钟:minute(); 获取秒数:second...② case … when用作区间判断的语法格式; case when 条件1 then 要显示的值1或语句1 when 条件2 then 要显示的值2或语句2 ... else 要显示的值n或语句n...max()和min()中传入的是"日期类型",max()计算的最大值是离我们最近的那个日期,min()计算的最小值是离我们最远的那个日期,这个可以记一下。
领取专属 10元无门槛券
手把手带您无忧上云