[ https://issues.apache.org/jira/browse/PHOENIX-5179?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Xinyi Yan updated PHOENIX-5179: ------------------------------- Description: In order to have a better user experience, we could offer a few useful syntactic sugar functions for customers, especially for e-commerce users. They use the date range to fetch last a few days/months expressions, GMV, unique buyers a lot. Many internal tools have very good date wraps on top of it, such as 1. DATE_RANGE {code:java} select * from table where DATE_RANGE(date, '2019-03-01') # date is equal or greater than the date. select * from table where DATE_RANGE(date,'', '2019-03-01') # date is equal or less than the date. select * from table where DATE_RANGE(date,'2018-05-12', '2019-03-01') # in range select select * from table where DATE_RANGE(date,'2018-05-12', '2019-03-01', 'PST') # timezone option{code} 2. DATE_INTERVAL {code:java} SELECT * from table where DATE_INTERVAL(time, '-7d') # last 7 days SELECT * from table where DATE_INTERVAL(time, '-1w') # last week SELECT * from table where DATE_INTERVAL(time, '-1m') # last month{code} 3.DATE_ADD {code:java} select * from table where DATE_RANGE(date, '2019-03-01', DATE_ADD('2019-03-01', '7d')) {code} was: In order to have a better user experience, we could offer a few useful syntactic surge functions for customers, especially for e-commerce users. They use the date range to fetch last a few days/months expressions, GMV, unique buyers a lot. Many internal tools have very good date wraps on top of it, such as 1. DATE_RANGE {code:java} select * from table where DATE_RANGE(date, '2019-03-01') # date is equal or greater than the date. select * from table where DATE_RANGE(date,'', '2019-03-01') # date is equal or less than the date. select * from table where DATE_RANGE(date,'2018-05-12', '2019-03-01') # in range select select * from table where DATE_RANGE(date,'2018-05-12', '2019-03-01', 'PST') # timezone option{code} 2. DATE_INTERVAL {code:java} SELECT * from table where DATE_INTERVAL(time, '-7d') # last 7 days SELECT * from table where DATE_INTERVAL(time, '-1w') # last week SELECT * from table where DATE_INTERVAL(time, '-1m') # last month{code} 3.DATE_ADD {code:java} select * from table where DATE_RANGE(date, '2019-03-01', DATE_ADD('2019-03-01', '7d')) {code} > empower/add more DateType related functions > ------------------------------------------- > > Key: PHOENIX-5179 > URL: https://issues.apache.org/jira/browse/PHOENIX-5179 > Project: Phoenix > Issue Type: Improvement > Reporter: Xinyi Yan > Priority: Minor > > In order to have a better user experience, we could offer a few useful > syntactic sugar functions for customers, especially for e-commerce users. > They use the date range to fetch last a few days/months expressions, GMV, > unique buyers a lot. Many internal tools have very good date wraps on top of > it, such as > 1. DATE_RANGE > > {code:java} > select * from table where DATE_RANGE(date, '2019-03-01') > # date is equal or greater than the date. > select * from table where DATE_RANGE(date,'', '2019-03-01') > # date is equal or less than the date. > select * from table where DATE_RANGE(date,'2018-05-12', '2019-03-01') > # in range select > select * from table where DATE_RANGE(date,'2018-05-12', '2019-03-01', 'PST') > # timezone option{code} > 2. DATE_INTERVAL > > {code:java} > SELECT * from table where DATE_INTERVAL(time, '-7d') > # last 7 days > SELECT * from table where DATE_INTERVAL(time, '-1w') > # last week > SELECT * from table where DATE_INTERVAL(time, '-1m') > # last month{code} > 3.DATE_ADD > {code:java} > select * from table where DATE_RANGE(date, '2019-03-01', > DATE_ADD('2019-03-01', '7d')) {code} > > > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)