ElasticSearch SQL 日期函数
ElasticSearch SQL 日期函數
1、日期計算
2、日期函數
3、日期字符串轉換(獲取毫秒值、日期轉字符串、字符串轉日期)
對人工智能感興趣的同學,可以點擊以下鏈接:
現在人工智能非常火爆,很多朋友都想學,但是一般的教程都是為博碩生準備的,太難看懂了。最近發現了一個非常適合小白入門的教程,不僅通俗易懂而且還很風趣幽默。所以忍不住分享一下給大家。點這里可以跳轉到教程。
https://www.cbedai.net/u014646662
1、日期計算
| 1y | INTERVAL 1 YEAR |
| 2M | INTERVAL 2 MONTH |
| 3w | INTERVAL 21 DAY |
| 4d | INTERVAL 4 DAY |
| 5h | INTERVAL 5 HOUR |
| 6m | INTERVAL 6 MINUTE |
| 7s | INTERVAL 7 SECOND |
當前日期
select current_date;current_date ------------------------ 2019-04-30T00:00:00.000Z1.1 當前日期加一年
select current_date + INTERVAL 1 YEAR; current_date + INTERVAL 1 YEAR ------------------------------ 2020-04-30T00:00:00.000Z1.2 當前日期加一年三個月
select current_date + INTERVAL '1-3' YEAR TO MONTH ; current_date + INTERVAL '1-3' YEAR TO MONTH ------------------------------------------- 2020-07-30T00:00:00.000Z當前時間
select current_timestamp ;current_timestamp ------------------------ 2019-04-30T10:54:01.951Z1.3 當前時間加1小時
select current_timestamp + interval 1 hour as "加一小時";加一小時 ------------------------ 2019-04-30T11:56:20.138Z1.4 當前時間加一天兩小時5分鐘
select current_timestamp + interval '1 2:5' day to minutes as "一天兩小時5分鐘";一天兩小時5分鐘 ------------------------ 2019-05-01T13:04:30.018Z2、日期函數
2.1 當前日期 CURRENT_DATE / CURDATE
CURRENT_DATE CURRENT_DATE() CURDATE()這三個沒感覺有什么區別,硬說有什么區別,那就是CURRENT_DATE是關鍵字,另兩個是函數
select curdate() ;curdate() ------------------------ 2019-04-30T00:00:00.000Z2.2 當前時間CURRENT_TIMESTAMP / NOW
select now();now() ------------------------ 2019-04-30T12:23:37.741Zselect CURRENT_TIMESTAMP();CURRENT_TIMESTAMP() ------------------------ 2019-04-30T12:24:06.691Z2.3 查看指定日期的天 DAY_OF_MONTH / DOM / DAY
select day_of_month(current_date) as result; result --------------- 30 select dom(curdate()) as result;result --------------- 30 select dom(cast('2000-12-12T12:12:01' as timestamp)) as result;result --------------- 122.4 查看一周的第幾天DAY_OF_WEEK ?/ DAYOFWEEK / DOW
周日為一周開始的第一天
select day_of_week(cast('2019-04-28T12:12:01' as timestamp)) as result;result --------------- 1 select dayofweek(current_timestamp() + interval 1 day) as result;result --------------- 4select dow(current_timestamp()) as result;result --------------- 32.5 查看一年當中第幾天DAY_OF_YEAR / DOY
select doy(cast('2019-01-01' as datetime)) as result;result --------------- 1 select day_of_year(cast('2019-12-31' as datetime)) as result;result --------------- 3652.6 查看星期幾DAY_NAME / DAYNAME
select day_name(cast('2019-01-01' as datetime)) as result;result --------------- Tuesday2.7 查看一天之中的時HOUR_OF_DAY / HOUR
select hour(cast('2019-01-01T23:09:00' as datetime)) as result;result --------------- 232.8?查看一周的第幾天ISO_DAY_OF_WEEK / ISODAYOFWEEK / ISODOW / IDOW
周一是第一天,與dow不一樣,dow是從周日開始為第一天
select idow(current_timestamp()) as result;result --------------- 22.9 查看一年之中的第幾周ISO_WEEK_OF_YEAR / ISOWEEKOFYEAR / ISOWEEK / IWOY / IW
一月一日為第一周的第一天,即第一周是一月一日到一月七日
select iw(current_timestamp()) as result;result --------------- 18 select iw(cast('2019-01-01' as datetime)) as result;result --------------- 1 select iw(cast('2019-12-31' as datetime)) as result;result --------------- 53從一月一日到到第一個周六為第一周,第一個周日為第二周
select iw(cast('2019-01-07' as datetime)) as result;result --------------- 1 select week(cast('2019-01-07' as datetime)) as result;result --------------- 22.10 產看分鐘?
一天之中分鐘
select MINUTE_OF_DAY (current_timestamp()) ; MINUTE_OF_DAY (current_timestamp()) ----------------------------------- 719該小時的分鐘
select MINUTE_OF_HOUR(current_timestamp()); MINUTE_OF_HOUR(current_timestamp()) ----------------------------------- 59 select MINUTE(current_timestamp()) ; MINUTE(current_timestamp()) --------------------------- 592.11 獲取月份?
獲取月份數:MONTH_OF_YEAR /?MONTH
獲取月份名:MONTH_NAME /??MONTHNAME
select MONTH_OF_YEAR(current_timestamp()); MONTH_OF_YEAR(current_timestamp()) ---------------------------------- 4 select MONTH(current_timestamp()) ; MONTH(current_timestamp()) -------------------------- 4 select MONTH_NAME(current_timestamp()); MONTH_NAME(current_timestamp()) ------------------------------- April select MONTHNAME(current_timestamp()) ; MONTHNAME(current_timestamp()) ------------------------------ April2.12 獲取秒
SECOND_OF_MINUTE /?SECOND
select SECOND_OF_MINUTE(current_timestamp()); SECOND_OF_MINUTE(current_timestamp()) ------------------------------------- 38 select SECOND(current_timestamp()) ; SECOND(current_timestamp()) --------------------------- 382.13 今天 TODAY
select today();today() ------------------------ 2019-04-30T00:00:00.000Z2.14 獲取年
select year(today());year(today()) --------------- 20192.15 獲取季度
select quarter(today()) as "季度";季度 --------------- 22.16 執行日期時間函數? EXTRACT
SELECT EXTRACT(DAY_OF_YEAR FROM today()) as ex;ex --------------- 120 SELECT EXTRACT(day FROM today()) as ex;ex --------------- 30 SELECT EXTRACT(year FROM today()) as ex;ex --------------- 20193、日期字符串轉換
3.1 字符串轉日期
select cast('2000-10-10' as datetime); cast('2000-10-10' as datetime) ------------------------------ 2000-10-10T00:00:00.000Z select cast('2000-10-10T10:10:10' as timestamp); cast('2000-10-10T10:10:10' as timestamp) ---------------------------------------- 2000-10-10T10:10:10.000Z3.2日期轉字符串
select cast(CURRENT_TIMESTAMP as String); cast(CURRENT_TIMESTAMP as String) --------------------------------- 2019-04-30T12:38:23.900Z3.3 日起轉數字(時間戳 ?毫秒值)
select cast(CURRENT_DATE as bigint); cast(CURRENT_DATE as bigint) ---------------------------- 1556582400000 select cast(CURRENT_TIMESTAMP as bigint); cast(CURRENT_TIMESTAMP as bigint) --------------------------------- 1556627787089?
?
?
總結
以上是生活随笔為你收集整理的ElasticSearch SQL 日期函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python处理海量手机号码
- 下一篇: flask 上传 excel 并导入my