🚀 个人主页 极客小俊
✍🏻 作者简介:程序猿、设计师、技术分享
🐋 希望大家多多支持, 我们一起学习和进步!
🏅 欢迎评论 ❤️点赞💬评论 📂收藏 📂加关注

字符串处理函数
在我们平常使用SQL操作数据库的时候,难免会遇见一些对字符串的处理!
SQL Server 2000中也已经给我们提供了实用的字符串处理函数!
以下我就简单的讲解几个我自己平常使用过的字符串处理函数!~
ASCII() 函数
定义
这个函数可以返回字符表达式最左端字符的ASCII码值
举个栗子
SELECT ASCII('ABC');
很显然,这里的最左端指的就是字符串列表的最左边的第一个字符串的ASCII码
如图

对于ASCII码这里我就不过多赘述了,感兴趣的自行查阅ASCII表吧~~
如图

CHAR()函数
定义
这个函数正好与 ASCII() 函数相反, 它的作用是将ASCII码转换为实际的字符串,
如果写入的是一个不符合规范的ASCII码会返回NULL
举个栗子
SELECT CHAR(65);
如图

LOWER() 与 UPPER() 大小写转换函数
UPPER() 函数是将字符串转换为大写
LOWER() 函数是将字符串转换为小写
举个栗子
SELECT UPPER('abc'); --转换为大写字符
SELECT LOWER('ABC'); --转换为小写字符
如图

STR() 函数
这个函数我要特别说明一下,STR() 函数可以将数值转换为字符串
并且STR() 函数允许我们指定转换后的字符串的长度和小数位数, 以及是否要在返回的字符串中包含空格以填充到指定的长度!
语法规则
STR(number, length[, decimal_places])
参数解释
| 参数名称 | 描述 |
|---|---|
number | 要转换的数字 |
length | 转换后的字符串的总长度(包括小数点、符号和空格填充) |
decimal_places | 可选,要在返回的字符串中包含的小数位数, 如果省略默认为0,即不包含小数部分 |
举个栗子
比如我们要将一个浮点数值:123.45转换为长度为6、小数位数为1的字符串
如下
SELECT STR(123.45, 6, 1);
如图

注意
如果 number 的小数位数超过了 decimal_places 指定的位数,STR() 函数会对数字进行四舍五入,就跟上面的案例一样的道理!
如果 length 小于转换后的数字所需的字符数(包括小数点、符号和必要的数字),STR() 函数会截断字符串以适应指定的长度。
如图

太小也可能显示为*号
如图

如果 length 大于转换后的数字所需的字符数,STR() 函数会在字符串的左侧填充空格以达到指定的长度
如图

如果 number 是负数,返回的字符串中将包含负号(-),并且负号也会计入长度 length!
如图

如果 number 是 NULL,STR() 函数也会返回 NULL
如图

LTRIM() 与 RTRIM() 去掉空格函数
LTRIM()函数去掉字符串左侧的空格
RTRIM()函数去掉字符串右侧的空格
举个栗子
--处理前
SELECT ' 重庆市';
--处理后
SELECT LTRIM(' 重庆市');
--处理前
SELECT '渝中区 ';
--处理后
SELECT RTRIM('渝中区 ');
如图

LEFT() 与 RIGHT() 字符串提取函数
LEFT()函数可以从字符串左侧开始提取指定长度的子字符串
RIGHT()函数可以从字符串右侧开始提取指定长度的子字符串
举个栗子
SELECT LEFT('sql server', 3);
SELECT RIGHT('sql server', 6);
如图

SUBSTRING() 函数
定义
它可以返回字符串中从指定位置开始的指定长度的子字符串
语法规则
SUBSTRING('字符串', 指定位置(包含此位置字符), 指定长度);
举个栗子
SELECT SUBSTRING('abcde', 3, 3);
如图

CHARINDEX() 函数 获取字符串索引值
定义
CHARINDEX() 函数可以返回字符串中指定字符表达式的起始位置索引
语法规则
CHARINDEX()
举个栗子
比如说现在我们要返回字符串abc123def'中子字符串123字符开始的起始位置, 并且从索引值2开始检索!
注意: 这里的索引值从1开始
如下
SELECT CHARINDEX('123', 'abc123def', 2) as '索引值';
如图

REVERSE() 函数
定义
这个函数可以将字符串的字符顺序颠倒
举个栗子
SELECT REVERSE('abcdef');
如图

REPLACE()函数
定义
用新的字符串替换原有字符串中指定的子字符串
语法规则
SELECT REPLACE('字符串', '原有子字符', '新字符串');
举个栗子
SELECT REPLACE('password = 12345', '12345', '*****');
如图



"👍点赞" "✍️评论" "收藏❤️"
欢迎一起交流学习❤️❤️💛💛💚💚

好玩 好用 好看的干货教程可以
点击下方关注❤️
微信公众号❤️
说不定有意料之外的收获哦..🤗嘿嘿嘿、嘻嘻嘻🤗!
🌽🍓🍎🍍🍉🍇


1007

被折叠的 条评论
为什么被折叠?



