From cf8c5eb7ba046db52fff9413cf0bc03309af92a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hilmar=20G=C3=BAstafsson?= Date: Mon, 17 Nov 2025 11:21:51 +0100 Subject: [PATCH] feat: support functions on `interval` when used as identifier --- src/parser/mod.rs | 3 ++- tests/sqlparser_common.rs | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/parser/mod.rs b/src/parser/mod.rs index 0b4d8efe5..589336cdc 100644 --- a/src/parser/mod.rs +++ b/src/parser/mod.rs @@ -845,7 +845,8 @@ impl<'a> Parser<'a> { Keyword::TRIM => self.parse_trim_expr(), Keyword::INTERVAL if self.peek_token().token != Token::Period - && self.peek_token().token != Token::Comma => + && self.peek_token().token != Token::Comma + && self.peek_token().token != Token::RParen => { self.parse_interval() } diff --git a/tests/sqlparser_common.rs b/tests/sqlparser_common.rs index 5e01405ae..c42d18236 100644 --- a/tests/sqlparser_common.rs +++ b/tests/sqlparser_common.rs @@ -8683,3 +8683,10 @@ WITH ( generic().parse_sql_statements(sql).unwrap(); } + +#[test] +fn interval_identifier() { + generic() + .parse_sql_statements("SELECT min(interval) as min_interval FROM table1") + .unwrap(); +}