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