
# 字符串处理函数和操作符总体介绍
DWS提供的字符处理函数和操作符主要用于字符串处理，例如获取字符串长度、数据截取、拼接、转化、比较等操作。
在了解字符串处理函数前，您可以先简单了解**位** 、**字节** 、**字符**的相关概念：
- **位（bit）：**计算机中最小的信息单位，表示二进制中的0或1，只有两种状态（对应电路的通 / 断、磁介质的正 / 反向磁化）。
- **字节** **（byte）** **：**1字节=8位，是计算机存储和传输数据的基本单位。
- **字符：** 人类可读的文本符号，例如字母、数字、标点符号或汉字，而**数据库字符编码** 决定了字符如何转换为字节。数据库字符编码在创建数据库语法中定义，详情请参见[CREATE DATABASE](https://support.huaweicloud.com/sqlreference-911-dws/dws_06_0156.html)。
例如在DWS的**UTF-8编码** 中：一个英文字符占1个字节，而一个中文字符占3个字节，若字段定义为VARCHAR(100)，理论上最大占用100字符 \* 3字节/字符 = 300字节。而在**GBK编码**中，一个中文字符占2个字节。
字符串处理函数按使用场景不同可分为以下几类：
- **[获取字符串长度](https://support.huaweicloud.com/sqlreference-911-dws/dws_06_0411.html#ZH-CN_TOPIC_0000002483663172)**：查询某个字符串的位数、字节长度等，例如查询"World"的位数。
- **[截取字符串](https://support.huaweicloud.com/sqlreference-911-dws/dws_06_0412.html#ZH-CN_TOPIC_0000002515823111)**：从一长串的字符串中截取某个子字符串，例如从"HelloWorld"中截取"Hello"。
- **[拼接字符串](https://support.huaweicloud.com/sqlreference-911-dws/dws_06_0413.html#ZH-CN_TOPIC_0000002483823146)**：将两串单独的字符串进行拼接，例如拼接"DATA"和"BASE"，得到"DATABASE"。
- **[替换和填充字符串](https://support.huaweicloud.com/sqlreference-911-dws/dws_06_0414.html#ZH-CN_TOPIC_0000002515943129)**：将字符串中的某个字符或子字符串替换成别的字符串，或者将多余空格删除，例如将"Database"后面的空格清空。
- **[删除指定字符](https://support.huaweicloud.com/sqlreference-911-dws/dws_06_0415.html#ZH-CN_TOPIC_0000002483663174)**：从字符串中删除掉指定的字符，例如删除"DataxBasexx"后面多余的"xx"。
- **[分割字符串](https://support.huaweicloud.com/sqlreference-911-dws/dws_06_0416.html#ZH-CN_TOPIC_0000002515823113)**：将字符串按需要分割成几块，并用分隔符分割，例如将"hello world"分成"hello， world"。
- **[转换字符串](https://support.huaweicloud.com/sqlreference-911-dws/dws_06_0417.html#ZH-CN_TOPIC_0000002483823148)**：将字符串以某种规则进行转换，例如字母大小写转换。
- **[比较字符串](https://support.huaweicloud.com/sqlreference-911-dws/dws_06_0418.html#ZH-CN_TOPIC_0000002515943131)**：将两个字符串进行比较。
- **[获取某一个字符或子字符串的位置](https://support.huaweicloud.com/sqlreference-911-dws/dws_06_0419.html#ZH-CN_TOPIC_0000002483663176)**：例如，获取子字符串"bcd"在主字符串"abcdabcdabcd"中，从第2个字符开始，第2次匹配的位置。
- **[判断某个字符串是否符合某种匹配模式(字符串相关的模式匹配函数)](https://support.huaweicloud.com/sqlreference-911-dws/dws_06_0420.html#ZH-CN_TOPIC_0000002515823115)**：例如，判断"a"是否在"\[ac\]"的正则表达式里面。
 
