如何从sql中的日期提取年份并在where子句中使用
我在一个表中有一个日期列,名为released_date,其数据格式为例如:01-Jan-1995。我只想拥有比1997年更大的年份。有人知道我如何编写这样的查询吗?试试这个:如何从sql中的日期提取年份并在where子句中使用,sql,date,hive,where-clause,Sql,Date,Hive,Where Clause,我在一个表中有一个日期列,名为released_date,其数据格式为例如:01-Jan-1995。我只想拥有比1997年更大的年份。有人知道我如何编写这样的查询吗?试试这个: SELECT * FROM table_name WHERE year(released_date) > 1997 试试这个: SELECT * FROM table_name WHERE year(released_date) > 1997 如果日期为dd MMM yyyy格式,则可以使用regexp\
SELECT * FROM table_name WHERE year(released_date) > 1997
试试这个:
SELECT * FROM table_name WHERE year(released_date) > 1997
如果日期为dd MMM yyyy格式,则可以使用regexp\u extract:
select regexp_extract (released_date, '(\\d{4})$',1) as year
如果日期为dd MMM yyyy格式,则可以使用regexp\u extract:
select regexp_extract (released_date, '(\\d{4})$',1) as year
实际上,我应该写一个查询:查找1997年、1998年、1999年之后的电影中评级大于3的所有行或行,并输出电影名称和平均评级。关于细节,我应该说我们有两个表,movieid在这两个表中都很常见。电影名称列和发布日期在第一个表film中。电影项目和评级列在第二个表film中。电影数据选择电影ID,电影名称,平均年份,年份*从电影中选择年份发布日期作为年份,其中年份>1997年。电影项目a在a.movieid中加入电影数据b=b.movieid,其中评级>3,按a.movieid分组,电影名称;实际上,我应该写一个查询:查找1997年、1998年、1999年之后的电影中评级大于3的所有行或行,并输出电影名称和平均评级。关于细节,我应该说我们有两个表,movieid在这两个表中都很常见。电影名称列和发布日期在第一个表film中。电影项目和评级列在第二个表film中。电影数据选择电影ID,电影名称,平均年份,年份*从电影中选择年份发布日期作为年份,其中年份>1997年。电影项目a在a.movieid中加入电影数据b=b.movieid,其中评级>3,按a.movieid分组,电影名称;你好@Sahar to SO。您可以与我们分享您的尝试。您好@Sahar to SO。你可以和我们分享你的尝试。