Mariadb 简明教程

MariaDB - Useful Functions

本章包含一个最常用函数列表,提供了定义、说明和示例。

MariaDB Aggregate Functions

最常用的聚合函数如下 −

Sr.No

Name & Description

1

COUNT 它计算记录数。 Example − SELECT COUNT(*) FROM customer_table;

2

MIN 显示一组记录的最小值。 Example − SELECT organization, MIN(account) FROM contracts GROUP BY organization;

3

MAX 显示一组记录的最大值。 Example − SELECT organization, MAX(account_size) FROM contracts GROUP BY organization;

4

AVG 计算一组记录的平均值。 Example − SELECT AVG(account_size) FROM contracts;

5

SUM 计算一组记录的总和。 Example − SELECT SUM(account_size) FROM contracts;

MariaDB Age Calculation

TIMESTAMPDIFF 函数可用来计算年龄 −

SELECT CURDATE() AS today;
SELECT ID, DOB, TIMESTAMPDIFF(YEAR,DOB,'2015-07-01') AS age FROM officer_info;

MariaDB String Concatenation

CONCAT 函数连接操作后的返回结果字符串。您可以利用一个或多个参数。查看其给出的语法 −

SELECT CONCAT(item, item,...);

查看以下示例:

SELECT CONCAT('Ram', 'bu', 'tan');
Output:Rambutan

MariaDB Date/Time Functions

以下是重要的日期函数 −

Sr.No

Name & Description

1

CURDATE() 以 yyyy-mm-dd 或 yyyymmdd 格式返回日期。 Example − SELECT CURDATE();

2

DATE() 以多种格式返回日期。 Example −CREATE TABLE product_release_tbl (x DATE);

3

CURTIME() 以 HH:MM:SS 或 HHMMSS.uuuuuu 格式返回时间。 Example − SELECT CURTIME();

4

DATE_SUB() 从指定日期加减天数。 Example − SELECT DATE_SUB('2016-02-08', INTERVAL 60 DAY);

5

DATEDIFF() 确定两个日期之间的天数。 Example − SELECT DATEDIFF('2016-01-01 23:59:59','2016-01-03');

6

DATE ADD() 在日期和时间加减任何时间单位。 Example − SELECT DATE_ADD('2016-01-04 23:59:59', INTERVAL 22 SECOND);

7

EXTRACT() 从日期中提取一个单位。 Example − SELECT EXTRACT(YEAR FROM '2016-01-08');

8

NOW() 以 yyyy-mm-dd hh:mm:ss 或 yyyymmddhhmmss.uuuuuu 格式返回当前日期和时间。 Example − SELECT NOW();

9

DATE FORMAT() 根据指定格式字符串格式化日期。 Example − SELECT DATE_FORMAT('2016-01-09 20:20:00', '%W %M %Y');

以下是部分重要的时间函数 −

Sr.No

Name & Description

1

HOUR() 返回时间的小时数或经过的小时数。 Example − SELECT HOUR('19:17:09');

2

LOCALTIME() 功能同 NOW()。

3

MICROSECOND() 它返回时间微秒数。 Example − SELECT MICROSECOND('16:30:00.543876');

4

MINUTE() 它返回时间分钟数。 Example − SELECT MINUTE('2016-05-22 17:22:01');

5

SECOND() 它返回日期秒数。 Example − SELECT SECOND('2016-03-12 16:30:04.000001');

6

TIME_FORMAT() 根据指定格式字符串格式化时间。 Example − SELECT TIME_FORMAT('22:02:20', '%H %k %h %I %l');

7

TIMESTAMP() 它提供 yyyy-mm-dd hh:mm:dd 格式的活动时间戳。 Example − CREATE TABLE orders_ (ID INT, tmst TIMESTAMP);

MariaDB Numeric Functions

下面是 MariaDB 中一些重要的数值函数−

Sr.No

Name & Description

1

TRUNCATE() 它返回截断后到小数位数指定的位置的数字。 Example − SELECT TRUNCATE(101.222, 1);

2

COS() 它返回 x 弧度的余弦。 Example − SELECT COS(PI());

3

CEILING() 它返回不低于 x 的最小整数。 Example − SELECT CEILING(2.11);

4

DEGREES() 将弧度转化为角度。 Example − SELECT DEGREES(PI());

5

DIV() 执行除法取整。 Example − SELECT 100 DIV 4;

6

EXP() 它返回 x 的 e 次方。 Example − SELECT EXP(2);

7

FLOOR() 它返回不大于 x 的最大整数。 Example − SELECT FLOOR(2.01);

8

LN() 返回 x 的自然对数。 Example − SELECT LN(3);

9

LOG() 它返回自然对数或给定底数的对数。 Example − SELECT LOG(3);

10

SQRT() 它返回平方根。 Example − SELECT SQRT(16);

MariaDB String Functions

下面列出一些重要的字符串函数−

Sr.No

Name & Description

1

INSTR() 返回子字符串的第一个实例的位置。 Example − SELECT INSTR('rambutan', 'tan');

2

RIGHT() 它返回最右边的字符串字符。 Example − SELECT RIGHT('rambutan', 3);

3

LENGTH() 它返回一个字符串的字节长度。 Example − SELECT LENGTH('rambutan');

4

LOCATE() 它返回子字符串第一次出现的位置。 Example − SELECT LOCATE('tan', 'rambutan');

5

INSERT() 它返回一个字符串,其中在特定位置处的指定子字符串已被修改。 Example − SELECT INSERT('ramputan', 4, 1, 'b');

6

LEFT() 它返回最左边的字符。 Example − SELECT LEFT('rambutan', 3);

7

UPPER() 它将字符更改为大写。 Example − SELECT UPPER(lastname);

8

LOWER() 它将字符更改为小写。 Example − SELECT LOWER(lastname);

9

STRCMP() 它比较字符串并在它们相等时返回 0。 Example − SELECT STRCMP('egg', 'cheese');

10

REPLACE() 它在替换字符后返回字符串。 Example − SELECT REPLACE('sully', 'l', 'n');

11

REVERSE() 它反转字符串中的字符。 Example − SELECT REVERSE('racecar');

12

REPEAT() 它多次重复给定字符。 Example − SELECT REPEAT('ha ', 10);

13

SUBSTRING() 它从字符串中返回从位置 x 开始的子字符串。 Example − SELECT SUBSTRING('rambutan',3);

14

TRIM() 它删除字符串结尾/开头的字符。 Example − SELECT TRIM(LEADING '_' FROM '_rambutan');