---
title: "查询中使用字符串函数 | OceanBase 文档中心"
description: 查询中使用字符串函数 常用的字符串函数有求字符串长度函数 LENGTH() 和 CHAR_LENGTH()、字符串截取函数 SUBSTR()、字符串拼接函数 CONCAT() 和 CONCAT_WS()、字符串转大小写函数 UPPER() 和 LOWER()、字符串删除前后缀函数 LTRIM()、RTRIM() 和 …
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 3.2.3 企业版 LTS

# 查询中使用字符串函数

更新时间：2023-07-18 17:25:58

常用的字符串函数有求字符串长度函数 LENGTH() 和 CHAR_LENGTH()、字符串截取函数 SUBSTR()、字符串拼接函数 CONCAT() 和 CONCAT_WS()、字符串转大小写函数 UPPER() 和 LOWER()、字符串删除前后缀函数 LTRIM()、RTRIM() 和 TRIM() 等。

本文通过具体示例介绍如何在查询中使用字符串函数。

## 示例：使用字符串函数 CONCAT()、CONCAT_WS()、UPPER() 和 LOWER() 查询数据

```sql
/*创建示例表并录入合适的数据*/
obclient> CREATE TABLE cust (
       c_id        INTEGER,
       c_first     VARCHAR(20),
       c_last      VARCHAR(20),
       c_credit    DECIMAL(10, 2)
 );
Query OK, 0 rows affected

obclient> INSERT INTO cust VALUES(101,'Ann','Smith',16.10);
1 row in set
obclient> INSERT INTO cust VALUES(102,'Madeleine','Johnson',23.00);
1 row in set
obclient> INSERT INTO cust VALUES(103,'Michael','Brown',9.05);
1 row in set

obclient> SELECT CHAR_LENGTH(c_last) namelength
      , CONCAT(c_first, c_last) full_name1
      , CONCAT_WS('_', c_first, c_last) full_name2
      , SUBSTR(c_last, 3)
      , UPPER(c_last)
    FROM cust ORDER BY c_last LIMIT 3;
+------------+------------------+-------------------+-------------------+---------------+
| namelength | full_name1       | full_name2        | SUBSTR(c_last, 3) | UPPER(c_last) |
+------------+------------------+-------------------+-------------------+---------------+
|          5 | MichaelBrown     | Michael_Brown     | own               | BROWN         |
|          7 | MadeleineJohnson | Madeleine_Johnson | hnson             | JOHNSON       |
|          5 | AnnSmith         | Ann_Smith         | ith               | SMITH         |
+------------+------------------+-------------------+-------------------+---------------+
3 rows in set

```

需要注意的是，在 OceanBase 数据库 MySQL 模式下，字符串长度函数 `LENGTH()` 的长度单位是字节，`CHAR_LENGTH()` 函数的字符串长度单位是字符。示例如下：

```sql
obclient> SELECT CHAR_LENGTH('中国'), LENGTH('中国'),CHAR_LENGTH('hello');
+-----------------------+------------------+----------------------+
| CHAR_LENGTH('中国')   | LENGTH('中国')   | CHAR_LENGTH('hello') |
+-----------------------+------------------+----------------------+
|                     2 |                6 |                    5 |
+-----------------------+------------------+----------------------+
1 row in set

```

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
