## 1.日期函数

### 时区.

```
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的类型转化为字符串.

```
mysql -> DATE_FORMAT(date,format)
doris -> DATE_FORMAT(DATETIME date, VARCHAR format)
doris参数配置表: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,结果精确到天.

```
mysql -> DATEDIFF(date1,date2)
doris -> DATEDIFF(DATETIME expr1,DATETIME expr2)
```

### 获得日期中的天信息.

```
mysql -> DAY(d),DAYOFMONTH(date)
doris -> DAY(DATETIME date),DAYOFMONTH(DATETIME date)
```

### 返回日期对应的日期名字.

```
mysql -> DAYNAME(DATE)
doris -> DAYNAME(DATE)
```

### 返回日期的工作日索引值.

```
mysql -> dayofweek(DATETIME date)
doris -> dayofweek(DATETIME date)
```

### 获得日期中对应当年中的哪一天.

```
mysql -> DAYOFYEAR(DATETIME date)
doris -> DAYOFYEAR(DATETIME date)
```

### 获得日期中的小时的信息.

```
mysql -> HOUR(DATETIME date)
doris -> HOUR(DATETIME date)
```

### 获得日期中的分钟的信息.

```
mysql -> MINUTE(DATETIME date)
doris -> MINUTE(DATETIME date)
```

### 将整数表达式间隔添加到日期或日期时间表达式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 类型转化为 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.字符串函数

### 返回字符串的长度,对于多字节字符,返回字符数.

```
mysql -> char_length(VARCHAR str)
doris -> char_length(VARCHAR str)
```

### 将多个字符串连接起来, 如果参数中任意一个值是 NULL,那么返回的结果就是 NULL.

```
mysql -> concat(VARCHAR,...)
doris -> concat(VARCHAR,...)
```

### 使用第一个参数 sep 作为连接符,将第二个参数以及后续所有参数拼接成一个字符串.

```
mysql -> concat_ws(VARCHAR sep, VARCHAR str,...)
doris -> concat_ws(VARCHAR sep, VARCHAR str,...)
```

### 如果字符串以指定后缀结尾,返回true。否则,返回false

```
mysql -> like
doris -> ENDS_WITH (VARCHAR str, VARCHAR suffix)
```

### 如果字符串以指定前缀开头,返回true。否则,返回false.

```
mysql -> like
doris -> STARTS_WITH (VARCHAR str, VARCHAR prefix)
```

### 返回 strlist 中第一次出现 str 的位置(从1开始计数)。strlist 是用逗号分隔的字符串.

```
mysql -> find_in_set(VARCHAR str, VARCHAR strlist)
doris -> find_in_set(VARCHAR str, VARCHAR strlist)
```

### 解析并获取 json 字符串内指定路径的浮点型内容.

```
mysql -> json_extract
doris -> get_json_double(VARCHAR json_str, VARCHAR json_path)
```

### 解析并获取 json 字符串内指定路径的整型内容.

```
doris -> get_json_int(VARCHAR json_str, VARCHAR json_path)
```

### 解析并获取 json 字符串内指定路径的字符串内容.

```
doris -> get_json_string(VARCHAR json_str, VARCHAR json_path)
```

### 该函数是类似于 sum() 的聚合函数,group_concat 将结果集中的多行结果连接成一个字符串.

```
mysql -> group_concat(VARCHAR str[, VARCHAR sep])
doris -> group_concat(VARCHAR str[, VARCHAR sep])
```

### 返回字符串的字节.

```
mysql -> length(VARCHAR str)
doris -> length(VARCHAR str)
```

### 返回 substr 在 str 中出现的位置(从1开始计数).

```
mysql -> locate(VARCHAR substr, VARCHAR str[, INT pos])
doris -> locate(VARCHAR substr, VARCHAR str[, INT pos])
```

### 将参数中所有的字符串都转换成小写.

```
mysql -> lower(VARCHAR str)
doris -> lower(VARCHAR str)
```

### 将数字按照货币格式输出,整数部分每隔3位用逗号分隔,小数部分保留2位.

```
doris -> money_format(Number)
```

### 如果字符串为空字符串或者NULL,返回true。否则,返回false.

```
mysql -> case when then end
doris -> NULL_OR_EMPTY (VARCHAR str)
```

### 将字符串反转,返回的字符串的顺序和源字符串的顺序相反.

```
mysql -> reverse(VARCHAR str)
doris -> reverse(VARCHAR str)
```

### 对字符串 str 进行模糊匹配,匹配上的则返回 true,没匹配上则返回 false.

```
mysql -> like(VARCHAR str, VARCHAR pattern)
doris -> like(VARCHAR str, VARCHAR pattern)
```

## 3.聚合函数

### 返回类似于 COUNT(DISTINCT col) 结果的近似值聚合函数.

### ps:对比COUNT与DISTINCT组合使用效率更高

```
mysql -> COUNT(DISTINCT expr,[expr...])
doris -> APPROX_COUNT_DISTINCT(expr)
```

### 用于返回选中字段的平均值.

```
mysql -> AVG([DISTINCT] expr)
doris -> AVG([DISTINCT] expr)
```

### 用于返回满足要求的行的数目.

```
mysql -> COUNT([DISTINCT] expr)
doris -> COUNT([DISTINCT] expr)
```

DorisSQL与MySQL函数对照 差异篇的更多相关文章

  1. 【MySQL函数】日期篇

    1.date_format()函数 date_format(createtime,'%Y') 年 date_format(createtime,'%Y-%m') 年月 date_format(crea ...

  2. mysql学习【第4篇】:MySQL函数和编程

    狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! mysql学习[第4篇]:MySQL函数 官方文档 : 官方文档 常用函数 分类: 数学函数 , ...

  3. Mysql - 函数

    Mysql提供的函数是在是太多了, 很多我都见过, 别说用了. 园子里面, 有人弄了一个比较全的. MYSQL函数 我这里会将他写的完全拷贝下来, 中间会插入一些自己项目中使用过的心得 一.数学函数 ...

  4. day 41 mysql 函数 事物

    mysql 函数 事务   mysql 中提供了许多内置函数 CHAR_LENGTH(str) 返回值为字符串str 的长度,长度的单位为字符.一个多字节字符算作一个单字符. 对于一个包含五个二字节字 ...

  5. 数据库MySQL学习笔记高级篇

    数据库MySQL学习笔记高级篇 写在前面 学习链接:数据库 MySQL 视频教程全集 1. mysql的架构介绍 mysql简介 概述 高级Mysql 完整的mysql优化需要很深的功底,大公司甚至有 ...

  6. mysql函数,语法

    转自:http://www.cnblogs.com/kissdodog/p/4168721.html MySQL数据库提供了很多函数包括: 数学函数: 字符串函数: 日期和时间函数: 条件判断函数: ...

  7. MySQL手工注入进阶篇——突破过滤危险字符问题

    当我们在进行手工注入时,有时候会发现咱们构造的危险字符被过滤了,接下来,我就教大家如何解决这个问题.下面是我的实战过程.这里使用的是墨者学院的在线靶场.咱们直接开始. 第一步,判断注入点. 通过测试发 ...

  8. mysql连接查询,封装mysql函数

    连接查询 交叉连接语法: select  * | 字段列表 from 表1  cross join 表2 内连接: select *|字段列表 from 左表 inner join 右表 on 左表. ...

  9. 深入理解javascript函数系列第一篇——函数概述

    × 目录 [1]定义 [2]返回值 [3]调用 前面的话 函数对任何一门语言来说都是一个核心的概念.通过函数可以封装任意多条语句,而且可以在任何地方.任何时候调用执行.在javascript里,函数即 ...

  10. 深入理解javascript函数系列第二篇——函数参数

    × 目录 [1]arguments [2]内部属性 [3]函数重载[4]参数传递 前面的话 javascript函数的参数与大多数其他语言的函数的参数有所不同.函数不介意传递进来多少个参数,也不在乎传 ...

随机推荐

  1. Pytorch实战学习(八):基础RNN

    <PyTorch深度学习实践>完结合集_哔哩哔哩_bilibili Basic RNN ①用于处理序列数据:时间序列.文本.语音..... ②循环过程中权重共享机制 一.RNN原理 ① X ...

  2. vue+vant-ui小程序,微信小程序自定义导航栏(适配刘海屏)

    整理一下微信小程序自定义导航栏和刘海屏适配问题 1.首先在根据官方文档,我们在小程序修改 app.json 中的 window 的属性 "navigationStyle": &qu ...

  3. DDL数据定义--Hive中数据可和表的基本操作(增删改查)

    数据库 创建数据库: CREATE DATABASE [ IF NOT EXISTS ]  database_name *****IF NOT EXISTS进行判断,避免创建的数据库已经存在的错误 创 ...

  4. mysql 优化表空间报错Creating index 'PRIMARY' required more than 'innodb_online_alter_log_max_size' bytes of modification log. Please try again

    背景:mysql数据库中有几个表的碎片率太高,浪费了存储空间且降低了读写效率,需要整理. mysql版本:5.6 先用optimize table 试试. 也执行了很久.但是结束后,data_free ...

  5. DP4398 是一个立体声 24 位/192kHz 数模转换芯片-替代CS4398

    DP4398 是一个立体声 24 位/192kHz 数模转换芯片.该 D/A 系统包括数字去加重.半分贝步长音量控制.ATAPI 通道混频.可选择的快速和慢速数字插补滤波器和过采样多位增量 Sigma ...

  6. vs code 提交代码弹框提示:请确保已在git中配置您的“user.name”和“user.email” ——解决方法

    修改完项目代码,准备提交到git上,结果提交失败,弹框提示:请确保已在Git中配置您的"user.name"和"user.email" 打开终端,配置运行一下命 ...

  7. 关于之前ecplices没法正常导入使用fx包的笔记

    办法一:在java build path里的libraries里导入跟工作环境版本(或者ecplices的jdk版本)相配的jar包. 注:如果导入的包是要用fx的,可以不直接改整个程序的工作环境,可 ...

  8. stata基础(十五)——线性回归的基本假定、估计回归系数、拟合系数

    一.回归:回归是研究变量间相互关系的方法 1.条件分布:因变量在自变量取不同值时的分布 如果因变量在自变量取不同值时的条件分布都相同,那么自变量对因变量没有影响,否则就是有影响. 比较因变量在自变量取 ...

  9. python单机版自动化测试框架源代码(selenium+Appium+requests+unittest+Excel用例+HTMLTestRunner报告)

    一.自动化测试框架: 1.框架和项目源代码下载 https://gitee.com/rmtic/autoTest 说明:框架可以支持web界面UI.安卓Android,ios苹果.接口API等自动化测 ...

  10. 2021年RT-Thread开发者大会

    Time:2021-12-18,地点:大中华6楼喜来登酒店 主办方: RT-Thread:寓意实时线程,瑞赛德 世界有成千上万个 RTOS(Real-time operating system,实时操 ...