文本函数:Trim()、Space()、Reverse()、Repeat() 和 Format()

81 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 7 天,点击查看活动详情

一、前言

大家好,今天文章的内容是几个文本函数的记录:

  • Trim()
  • Space()
  • Reverse()
  • Repeat()
  • Format()

二、内容

Trim

Trim() 函数用于返回删除了所有指定前缀或后缀的字符串 str

语法如下:

Trim([param remstr From] str)

用法如下:

  • 如果我们未设置指定子串 remstr,那么默认删除字符串 str 两边的空格

比如:

mysql> SELECT Trim("    Hello World    ");
+-----------------------------+
| Trim("    Hello World    ") |
+-----------------------------+
| Hello World                 |
+-----------------------------+
1 row in set (0.00 sec)

备注:

除了去除串两边的空格外,还可以使用LTrim()函数或RTrim()函数来单独去除串两边的空格。记录如下:

  • LTrim( str ):去掉字符串 str 左边的空格

  • RTrim( str ):去掉字符串 str 右边的空格。

  • 如果我们指定子串 remstr,那么参数 param 的取值有三种:
    • BOTH:将字符串 str 中所有指定前缀子串 remstr 和后缀子串 remstr 删除掉
    • LEADING:将字符串 str 中所有指定前缀子串 remstr 删除掉
    • TRAILING:将字符串 str 中所有指定后缀子串 remstr 删除掉
mysql> SELECT TRIM(BOTH 'x' FROM 'xxxABCxxx');
+---------------------------------+
| TRIM(BOTH 'x' FROM 'xxxABCxxx') |
+---------------------------------+
| ABC                             |
+---------------------------------+
1 row in set (0.00 sec)

mysql> SELECT TRIM(LEADING 'x' FROM 'xxxABCxxx');
+------------------------------------+
| TRIM(LEADING 'x' FROM 'xxxABCxxx') |
+------------------------------------+
| ABCxxx                             |
+------------------------------------+
1 row in set (0.00 sec)

mysql> SELECT TRIM(TRAILING 'x' FROM 'xxxABCxxx');
+-------------------------------------+
| TRIM(TRAILING 'x' FROM 'xxxABCxxx') |
+-------------------------------------+
| xxxABC                              |
+-------------------------------------+
1 row in set (0.00 sec)

Space

Space(n)函数可以返回由n个空格字符组成的字符串。

mysql> SELECT SPACE(20);
+----------------------+
| SPACE(20)            |
+----------------------+
|                      |
+----------------------+
1 row in set (0.00 sec)

Reverse

Reverse(str)函数用于将字符串s的顺序反过来,即反转字符串。

mysql> SELECT Reverse('abc');
+----------------+
| Reverse('abc') |
+----------------+
| cba            |
+----------------+
1 row in set (0.00 sec)

Repeat

Repeat(str, count):返回由字符串str重复count次后组成的新字符串。

mysql> SELECT Repeat("abc", 3);
+------------------+
| Repeat("abc", 3) |
+------------------+
| abcabcabc        |
+------------------+
1 row in set (0.00 sec)

备注:

  • 如果strcountNULL,则返回NULL

Format

  • Format(X, D) 函数用于将数字 X 格式化为 '#,##,##.##' 的形式,并将结果用字符串的形式返回。
  • 注意,参数 D 用于指定返回结果的小数位数。

举几个例子:

mysql> SELECT FORMAT(123456.789, 0);
+-----------------------+
| FORMAT(123456.789, 0) |
+-----------------------+
| 123,457               |
+-----------------------+
1 row in set (0.00 sec)

mysql> SELECT FORMAT(123456.789, 2);
+-----------------------+
| FORMAT(123456.789, 2) |
+-----------------------+
| 123,456.79            |
+-----------------------+
1 row in set (0.00 sec)

mysql> SELECT FORMAT(123456.789, 4);
+-----------------------+
| FORMAT(123456.789, 4) |
+-----------------------+
| 123,456.7890          |
+-----------------------+
1 row in set (0.00 sec)

三、后话

好了,今天的文章内容就到这里,感谢观看。