Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从sql中的日期提取年份并在where子句中使用_Sql_Date_Hive_Where Clause - Fatal编程技术网

如何从sql中的日期提取年份并在where子句中使用

如何从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\

我在一个表中有一个日期列,名为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\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。你可以和我们分享你的尝试。