## 1.日期函數(shù)
### 時區(qū).
```
mysql -> convert_tz(dt,from_tz,to_tz)
doris -> CONVERT_TZ(DATETIME dt, VARCHAR from_tz, VARCHAR to_tz)
```
### 獲取當前的日期,以DATE類型返回.
```
mysql -> CURDATE()
doris -> CURDATE()
```
### 獲得當前的時間,返回datatime類型.
```
mysql -> NOW()
doris -> CURRENT_TIMESTAMP()
```
### 獲得當前的時間,以TIME類型返回.
```
mysql -> NOW()+DATE_FORMAT(date,format)
doris -> current_time()
```
### 向日期添加指定的時間間隔.
```
mysql -> DATE_ADD(date,INTERVAL expr type)
doris -> DATE_ADD(DATETIME date,INTERVAL expr type)
```
### 將日期類型按照format的類型轉(zhuǎn)化為字符串.
```
mysql -> DATE_FORMAT(date,format)
doris -> DATE_FORMAT(DATETIME date, VARCHAR format)
doris參數(shù)配置表:https://doris.apache.org/master/zh-CN/sql-reference/sql-functions/date-time-functions/date_format.html#description
```
### 從日期減去指定的時間間隔.
```
mysql -> DATE_SUB(date,INTERVAL expr type)
doris -> DATE_SUB(DATETIME date,INTERVAL expr type)
```
### 計算expr1 - expr2,結(jié)果精確到天.
```
mysql -> DATEDIFF(date1,date2)
doris -> DATEDIFF(DATETIME expr1,DATETIME expr2)
```
### 獲得日期中的天信息.
```
mysql -> DAY(d),DAYOFMONTH(date)
doris -> DAY(DATETIME date),DAYOFMONTH(DATETIME date)
```
### 返回日期對應(yīng)的日期名字.
```
mysql -> DAYNAME(DATE)
doris -> DAYNAME(DATE)
```
### 返回日期的工作日索引值.
```
mysql -> dayofweek(DATETIME date)
doris -> dayofweek(DATETIME date)
```
### 獲得日期中對應(yīng)當年中的哪一天.
```
mysql -> DAYOFYEAR(DATETIME date)
doris -> DAYOFYEAR(DATETIME date)
```
### 獲得日期中的小時的信息.
```
mysql -> HOUR(DATETIME date)
doris -> HOUR(DATETIME date)
```
### 獲得日期中的分鐘的信息.
```
mysql -> MINUTE(DATETIME date)
doris -> MINUTE(DATETIME date)
```
### 將整數(shù)表達式間隔添加到日期或日期時間表達式datetime_expr中
```
mysql -> TIMESTAMPADD(unit, interval, DATETIME datetime_expr)
doris -> TIMESTAMPADD(unit, interval, DATETIME datetime_expr)
```
### 返回datetime_expr2?datetime_expr1,其中datetime_expr1和datetime_expr2是日期或日期時間表達式.
```
mysql -> TIMESTAMPDIFF(unit,DATETIME datetime_expr1, DATETIME datetime_expr2)
doris -> TIMESTAMPDIFF(unit,DATETIME datetime_expr1, DATETIME datetime_expr2)
```
### 將 Date 或者 Datetime 類型轉(zhuǎn)化為 unix 時間戳.
```
mysql -> UNIX_TIMESTAMP(DATETIME date)
doris -> UNIX_TIMESTAMP(DATETIME date)
```
### 獲得一年中的第幾周.
```
mysql -> WEEKOFYEAR(DATETIME date)
doris -> WEEKOFYEAR(DATETIME date)
```
### 返回date類型的year部分.
```
mysql -> YEAR(DATETIME date)
doris -> YEAR(DATETIME date)
```
## 2.字符串函數(shù)
### 返回字符串的長度,對于多字節(jié)字符,返回字符數(shù).
```
mysql -> char_length(VARCHAR str)
doris -> char_length(VARCHAR str)
```
### 將多個字符串連接起來, 如果參數(shù)中任意一個值是 NULL,那么返回的結(jié)果就是 NULL.
```
mysql -> concat(VARCHAR,...)
doris -> concat(VARCHAR,...)
```
### 使用第一個參數(shù) sep 作為連接符,將第二個參數(shù)以及后續(xù)所有參數(shù)拼接成一個字符串.
```
mysql -> concat_ws(VARCHAR sep, VARCHAR str,...)
doris -> concat_ws(VARCHAR sep, VARCHAR str,...)
```
### 如果字符串以指定后綴結(jié)尾,返回true。否則,返回false
```
mysql -> like
doris -> ENDS_WITH (VARCHAR str, VARCHAR suffix)
```
### 如果字符串以指定前綴開頭,返回true。否則,返回false.
```
mysql -> like
doris -> STARTS_WITH (VARCHAR str, VARCHAR prefix)
```
### 返回 strlist 中第一次出現(xiàn) str 的位置(從1開始計數(shù))。strlist 是用逗號分隔的字符串.
```
mysql -> find_in_set(VARCHAR str, VARCHAR strlist)
doris -> find_in_set(VARCHAR str, VARCHAR strlist)
```
### 解析并獲取 json 字符串內(nèi)指定路徑的浮點型內(nèi)容.
```
mysql -> json_extract
doris -> get_json_double(VARCHAR json_str, VARCHAR json_path)
```
### 解析并獲取 json 字符串內(nèi)指定路徑的整型內(nèi)容.
```
doris -> get_json_int(VARCHAR json_str, VARCHAR json_path)
```
### 解析并獲取 json 字符串內(nèi)指定路徑的字符串內(nèi)容.
```
doris -> get_json_string(VARCHAR json_str, VARCHAR json_path)
```
### 該函數(shù)是類似于 sum() 的聚合函數(shù),group_concat 將結(jié)果集中的多行結(jié)果連接成一個字符串.
```
mysql -> group_concat(VARCHAR str[, VARCHAR sep])
doris -> group_concat(VARCHAR str[, VARCHAR sep])
```
### 返回字符串的字節(jié).
```
mysql -> length(VARCHAR str)
doris -> length(VARCHAR str)
```
### 返回 substr 在 str 中出現(xiàn)的位置(從1開始計數(shù)).
```
mysql -> locate(VARCHAR substr, VARCHAR str[, INT pos])
doris -> locate(VARCHAR substr, VARCHAR str[, INT pos])
```
### 將參數(shù)中所有的字符串都轉(zhuǎn)換成小寫.
```
mysql -> lower(VARCHAR str)
doris -> lower(VARCHAR str)
```
### 將數(shù)字按照貨幣格式輸出,整數(shù)部分每隔3位用逗號分隔,小數(shù)部分保留2位.
```
doris -> money_format(Number)
```
### 如果字符串為空字符串或者NULL,返回true。否則,返回false.
```
mysql -> case when then end
doris -> NULL_OR_EMPTY (VARCHAR str)
```
### 將字符串反轉(zhuǎn),返回的字符串的順序和源字符串的順序相反.
```
mysql -> reverse(VARCHAR str)
doris -> reverse(VARCHAR str)
```
### 對字符串 str 進行模糊匹配,匹配上的則返回 true,沒匹配上則返回 false.
```
mysql -> like(VARCHAR str, VARCHAR pattern)
doris -> like(VARCHAR str, VARCHAR pattern)
```
## 3.聚合函數(shù)
### 返回類似于 COUNT(DISTINCT col) 結(jié)果的近似值聚合函數(shù).
### ps:對比COUNT與DISTINCT組合使用效率更高
```
mysql -> COUNT(DISTINCT expr,[expr...])
doris -> APPROX_COUNT_DISTINCT(expr)
```
### 用于返回選中字段的平均值.
```
mysql -> AVG([DISTINCT] expr)
doris -> AVG([DISTINCT] expr)
```
### 用于返回滿足要求的行的數(shù)目.
```
mysql -> COUNT([DISTINCT] expr)
doris -> COUNT([DISTINCT] expr)
```