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

Java日期格式化带来年份不正确

刚开始一头雾水,不知道是什么问题,后来经过日志排查才定位到原来是日期格式化引起问题,原本应该是“2021-12-26”日期字符串,但是格式化为“2022-12-26”了。...,使用"YYYY-MM-dd"格式化出来日期显然是不对,必须使用“yyyy”才能格式化出正确“年”。...从字面上看,“y”和“Y”是有区别的:“y”表示年为我们通常所说年,即当前真正所属年份;而“Y”表示是一种所谓“周年”计算方法,那么这个“周年”第一周是什么时候呢?...解决办法 既然Java中关于年格式化“y”和“Y”有着不同含义,“y”才能表示我们通常意义上理解真实年份,那么我们在使用时就必须记住,只能使用“yyyy”格式化年份,而不要使用“YYYY”。...blog.csdn.net/weixin_29092031/article/details/114191979 java格式化日期 yyyy_JAVA日期格式化中“yyyy”与“YYYY”

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

sql中过滤条件放在on和where区别

最近遇到相关业务,想揪一下sqlleft join 或者right join 或者inner join 中 on和where区别,想了解这个首先我们要了解两个基础知识。...1.join三种连接方式区别: left join(左联接) 返回包括左表中所有记录和右表中联结字段相等记录 right join(右联接) 返回包括右表中所有记录和左表中联结字段相等记录...笛卡尔积:两个[集合]*X*和*Y*笛卡尓积(Cartesian product),又称[直积],表示为*X* × *Y*,第一个对象是*X*成员而第二个对象是*Y*所有可能[有序对]其中一个成员...还是两个表都会取交集,进行过滤。...类似:如果是right join的话 right join时进行笛卡尔积之后on后面的条件只对左表有效 ,并且如果左表用了where还是两个表都会取交集,进行过滤。 有对结论有疑问者,欢迎讨论~~~

3.8K10

SQL - where条件里!=会过滤值为null数据

=会过滤值为null数据 在测试数据时忽然发现,使用如下SQL是无法查询到对应column为null数据: 1 select * from test where name !...= 'Lewis'; 本意是想把表里name值不为Lewis所有数据都搜索出来,结果发现这样写无法把name值为null数据也包括进来。 上面的!...=换成也是一样结果,这可能是因为在数据库里null是一个特殊值,有自己判断标准,如果想要把null数据也一起搜索出来,需要额外加上条件,如下: 1 select * from test where...null值比较 这里另外说下SQL里null值比较,任何与null值比较结果,最后都会变成null,以PostgreSQL为例,如下: 1 2 3 4 select null !...另外有些函数是不支持null值作为输入参数,比如count()或者sum()等。

1.9K40

第4-6课 数据过滤where子句操作符使用通配符进行过滤

实际查询中,通常不会检索所有行,需要对数据进行筛选过滤,选出符合我们需要条件数据。...sql中数据过滤通过where子句中指定搜索条件进行 where子句操作符 检查单个值 select prod_name, prod_price from products where prod_price...from products where vend_id 'DLL01'; select vend_id, prod_name from products where vend_id !...where not vend_id = 'DLL01' order by prod_name; 使用通配符进行过滤 使用like操作符进行通配搜索 %表示字符任意出现次数,fish开头字符 select...from products where prod_name like '__ inch teddy bear'; []通配符用来匹配字符集,必须匹配方括号中某一个字符 select cust_contact

1K10

多表关联查询过滤条件写在on与where区别

SQL优化过程中,发现开发人员在写多表关联查询时候,对于谓词过滤条件写法很随意,写在on后面与where后面的情况均有,这可能会导致没有理解清楚其真正含义而无法得到期望结果。...注意连接方式变成了hash join,这是因为右表谓词过滤条件写在where后面,CBO会把左连接等价为内连接。...on后面,先对两表进行过滤,再进行left join,显示结果集与写在where后面是不同,连接方式还是左外连接,显示t1过滤全部数据。...(2)两个表谓词都放在where后面: 这种情况CBO将其转换为内连接,先过滤再关联。...(4)左表谓词放在where后面,右表放在on后面: 这种情况转换为左外连接,也是先对两表过滤后再关联。 总结 1.对于内连接inner join,两个表谓词条件放在on与where后面相同。

4K41

数据科学面试中应该知道5个SQL日期函数

'2021-06-01' DATE_TRUNC('2021-06-28', YEAR) = '2021-01-01' 如果我们指定 date_part = YEAR,那么我们将得到指定日期年份第一天...DATE_DIFF() 在 WHERE 子句中也很有用,如果你想过滤 X 周期前发生日期(例如 5 天前、2 周前、上个月)。...DATE_ADD() 和 DATE_SUB() 可以像 WHERE 子句中 DATE_DIFF() 一样使用,以过滤 X 周期前或将来 X 周期发生日期 示例 1:假设你想获取所有发货时间少于 10...使用 EXTRACT() 是获取日期特定部份一种简单方法 例如需要按周数报告,可以使用 EXTRACT() 获取给定记录给定日期周数 EXTRACT() 允许你从日期中获取月份数或年份,可用作机器学习模型特征...7 示例 2:假设你想获取与今天日期同月发货任何年份所有订单: SELECT order_id , amount FROM orders WHERE EXTRACT(MONTH

1.6K30

【T-SQL基础】01.单表查询-几道sql查询题

(30 row(s) affected) 本题考察过滤日期范围 参考答案: 方案一:  如果要过滤日期范围(比如,整年或正月),比较自然方法就是使用YEAR和MONTH之类函数。...)=6; 不过,应该小心一点是:在大多数情况下,当对过滤条件中列应用了一定处理后,就不能以有效方式来使用索引了。...为了潜在地有效利用索引,就需要对为此进行调整,以便对过滤条件中列不进行处理。...有关两位数年份信息,请参阅two digit year cutoff 选项。    enddate 请参阅 startdate。...如果只为某个日期数据类型变量指定时间值,则所缺日期部分值将设置为默认值:1900-01-01。如果只为某个时间或日期数据类型变量指定日期值,则所缺时间部分值将设置为默认值:00:00:00。

1.9K90

如何快速分析出城市人口流动数量?

需要注意是group by子句列出每一个字段都必须是select检索列或者表达式,不能是聚集函数,也不能使用别名,group by分组后,如有条件筛选,使用Having语句过滤。...select 流出城市,sum(数量) as 流出总人数 from 各城市人口流动表 where 流出城市="北京" and 交通工具="飞机" and 年份="2017" and 星期六或者星期日;...3、年份查询,题目给出日期”字段是具体日期,要用具体日 筛选出年份,用到年份提取函数year() 4、星期查询,需要用date_format(date,format)函数在“日期”字段中筛选出周末...select 流出城市,sum(数量) as 流出总人数 from 各城市人口流动表 where 流出城市="北京" and 交通工具=3 and year(日期)="2017" and(date_format...sum(数量) as a from 各城市人口流动表 where year(日期)="2018" and 流入城市="长春" )t; 查询结果为: 2、上一个解法思路比较清晰,但是写起来比较复杂,

96730

MySQL之数据库基本查询语句

select * from Article where type like 'Seleni_m'; SELECT 正则表达式进行过滤查询 regexp正则提取匹配字符 #查询Type中有SQLArticle...日 时:分:秒 select sysdate(); #获取系统当前日期 年-月-日 select curdate(); #获取系统当前时间 时:分:秒 select curtime(); #获取给定日期年份...——获取当前系统时间年份 select year(CURDATE()); #获取给定日期月份——获取当前系统时间月份 select month(CURDATE()); #获取给定日期天数——...from Article where date(update_date)='2020-01-01'; #查询2019年11月更新文章(两种写法) #写法一:between...and 指定匹配日期范围...FROM:要检索数据表 WHERE:行级过滤 ... GROUP BY:分组说明 HAVING:组级过滤 ... ORDER BY:输出时排序 ... LIMIT:要检索行数 ...

4.8K40

T-sql 高级查询( 5*函数 联接 分组 子查询)

目录 联接查询 子查询 分组查询 函数应用 系统函数 字符串函数​编辑 实例 日期函数 实例 数学函数 实例 聚合函数 实例 T-SQL 高级查询是指在 T-SQL 中使用复杂查询,可以用于执行复杂操作...子查询:子查询是一种嵌套在另一个查询中查询。子查询可以用于过滤、聚合或计算数据。 窗口函数:窗口函数是一种在指定窗口内对数据进行操作函数。窗口函数可以用于计算移动平均值、排名或分位数等。...保安姓名 和基本工资 保安 XX 基本工资是 4500 元 日期函数 实例 1.0 select name from 表单 where datediff(year,出生日,getdate...year(出生)>=1990 and year(出生) <2000 筛选出筛选出90后学员信息 4.0 统计出班级同年人数个数,输出年份和人数 select year(出生日期) as 年份...,并以取整 2.0 select top 1 * from bcnt where sex='男' and order by 数学+语文 desc 查询出班级男生两门课总分最高学员信息

7810

MySQL(四)字段及常用函数

4.日期和时间处理函数 日期和时间采用相应数据类型和特殊格式存储,一遍可以快速有效排序或过滤,并且节省物理存储空间 一般来说应用程序不适用用来存储日期和时间格式,因此日期和时间函数总是被用来读取...PS:对于日期,无论插入更新还是使用where子句进行过滤日期格式必须为yyyy-mm--dd,而且应始终使用4位数字年份     如果需要日期值,使用date()函数是一个好习惯;如果想要时间值时...,time()函数也是最好选择 例子:select column1, column2 from table where date(table_date) between '2013-05-20' and...'2014-5-20'; 其中between操作符用来把2013-05-20和2014-05-20定义为一个要匹配日期范围 select column1, column2 from table where...year(table-date) = 2013 and month(table_date) = 5; year()是一个日期(从日期时间)中返回年份函数,month()从日期中返回月份; 因此,where

1.3K20

0769-7.0.3-如何在Kerberos环境下用Ranger完成对Hive过滤及列脱敏

文档编写目的 本篇文章主要介绍如何在CDP DC7.0.3集群中使用Ranger在Hive中进行行过滤及列脱敏,行级别的过滤相当于一个强制性where子句,例如在订单表中,员工仅被允许查看自己所在地区订单...Hive中过滤前,需要确保授权用户/用户组已有对要过滤访问权限,即在授权给ranger_user1用户对表t1过滤策略前,ranger_user1需要对t1有访问权限。...3.6 Date 仅显示日期字符串年份部分,并且默认月份和日期为01/01 1.修改策略,使用create_date列进行测试 ? ? 2.查询t1表进行测试 ?...由上图可见,日期一列只显示了年份,月份和日期使用了01-01进行代替。...配置了行过滤相当于提供默认where子句,Hive每次尝试访问数据时都会应用该条件,这有助于简化Hive查询编写,不需要再将where子句添加到原本查询语句中。

1.7K20

SQL 基础-->常用函数

日期函数: sysdate 返回系统当前日期 实际上ORACLE内部存储日期格式是:世纪,年,月,日,小,分钟,秒。...不管如何输入都这样 9i开始,默认日期格式是:DD-MON-RR,之前是DD-MON-YY RR 和YY 都是世纪后两位,但有区别 ORACLE有效日期范围是:公元前年月日-年月日 RR日期格式...: 1、如果当前年份最后两位是:-,并且指定年份最后两位也为-, 则返回本世纪 例:当前年:, 01--,表示2008 年 2、如果当前年份最后两位是:-,指定年份最后两位为50-...例:当前年:,--表示是年 4、如果当前年最后两位是:-,指定年份最后两位为:- 则返回本世纪。...(x) 返回指定日期所在月最后一天日期 next_day(x,day) 返回指定日期下一day时间值,day是一个文本串,比如SATURDAY extract 提取日期 select extract

1.1K20

数据库SQL语句大全——最常用SQL语句

= 不等于 < 小于 <= 小于等于 > 大于 >= 大于等于 BETWEEN 在指定两个值之间 数据过滤: 组合where语句 and操作符(同时符合where后面的条件) SELECT pname...() 返回一个时间分钟部分 MONTH() 返回一个日期月份部分 NOW() 返回当前日期和时间 SECOND() 返回一个时间秒部分 TIME() 返回一个日期时间时间部分 YEAR() 返回一个日期年份部分...COUNT(*)>2 HAVING和WHERE差别 这里有另一种理解方法,WHERE在数据 分组前进行过滤,HAVING在数据分组后进行过滤。...这是一个重 要区别,WHERE排除行不包括在分组中。这可能会改变计 算值,从而影响HAVING子句中基于这些值过滤分组。...SELECT语句执行顺序 SELECT 要返回列或表达式 是 FROM 从中检索数据表 仅在从表选择数据时使用 WHERE 行级过滤 否 GROUP BY 分组说明 仅在按组计算聚集时使用 HAVING

2.9K30

mysql中将where条件中过滤group by分组后查询无数据行进行补0

背景 mysql经常会用到group By来进行分组查询,但也经常会遇到一个问题,就是当有where条件时,被where条件过滤数据不显示了。...例如我有一组数据: 我想查询创建时间大于某一范围spu分组下sku数量 正常sql查出的话,假如不存在相关记录 SELECT product_id , count( *) count FROM...product_sku WHERE create_time >= #{param} AND product_id in (1,2,3,4,5) GROUP BY product_id 结果查不到任何记录...即使没有数据,也想让count显示出0而不是空效果 因此,我们想实现,即使没有数据,也想让count显示出0而不是空效果; 解决方案:构建一个包含所有productId结果集;然后和我们本来sql...b.count, 0) usedCount FROM product_sku a LEFT JOIN ( SELECT product_id , count( *) count FROM product_sku WHERE

15310

07-08 创建计算字段使用函数处理数据第7章 创建计算字段第8章 使用函数处理数据

日期和时间处理函数 日期和时间采用相应数据类型存储在表中,每种 DBMS 都有自己特殊形式。日期和时间值以特殊格式存储,以便能快速和有效地排序或过滤,并且节省物理存储空间。...DATEPART()函数有两个参数,分别是返回成分和从中返回成分日期。 例子中,DATEPART()只从 order_date 列中返回年份。...通过与2012比较,WHERE 子句只过滤出此年份订单。...MySQL 和 MariaDB 用户可使用名为YEAR()函数从日期中提取年份: SELECT order_num FROM Orders WHERE YEAR(order_date) = 2012;...按月份过滤,可以进行相同处理,使用 AND 操作符可以进行年和月份比较。 大多数 DBMS 具有比较日期、执行基于日期运算、选择日期格式等函数。

3.7K20
领券