31人参与 • 2025-11-28 • MsSqlserver
在这篇文章中,我会讲解表的字符串类的内置函数。
下面这个表格是我们在接下来要进行讲解的函数,我们现在这里简单介绍了它们的名字以及他们的作用,这边之所以这么设计是因为我们学到后面的话这些函数我们已经了解了,这样先写在前面就方便我们查阅。
| 函数 | 函数 |
|---|---|
| charset(str) | 返回字符串字符集 |
| concat(string2 [, …]) | 连接字符串 |
| instr(string, substring) | 返回 substring 在 string 中出现的位置,没有返回 0 |
| ucase(string2) | 转换成大写 |
| lcase(string2) | 转换成小写 |
| left(string2, length) | 从 string2 中的左边起取 length 个字符 |
| length(string) | string 的长度 |
| replace(str, search_str, replace_str) | 在 str 中用 replace_str 替换 search_str |
| strcmp(string1, string2) | 逐字符比较两字符串大小 |
| substring(str, position [,length]) | 从 str 的 postion 开始,取 length 个字符 |
| ltrim(string) rtrim(string) trim(string) | 去除前空格或后空格 |
这张图里面的表是我们接下来在内容中所使用的。

这个函数的作用就是获取要求的那一列的字符集。
语法:
select charset(列名) from 表名;
我们看下面这张图,我们这样使用就可以了。
ps:一般来说的话我们的编码都是utf8的。

这个函数的话本质我认为就是临时性的字符串拼接。可以把一个表里面的内容拼接在一起,当然就算不是字符串类型的意义可以拼接到一起。
语法:
select concat(想要拼接的内容) as 要取的名字 from 表名;
我们来看下面这个图片,通过这样的方式就可以把代码拼接在一起。

这个函数的话就是返回substring在string中出现的位置。
语法:
select instr(字符串,字符);
select instr(表内容,字符) form 表名;
我们看下面这个图片,通过这样的方式我们就可以找到o这个字符在helloworld这个字符串里面第一次出现的位置。当然如果这个字符出现多次的话会返回第一次出现的位置下标。

我们看下面这个图片,这个函数会按照这个列的行数来返回,又因为只有第一列有a,其他两列没有,所以返回的值是1,0,0。

这个函数的话就是把字符串转换成大写。
语法:
select ucase(字符串);
select ucase(表列) from 表名;
我们看下面这个图片,这样写就可以返回字符串的大写了。

我们看下面这个图片,这样写就可以返回表中字符串的大写了。

这个函数的话就是把字符串转换成小写。
语法:
select lcase(字符串);
select lcase(表列) from 表名;
我们看下面这个图片,这样写就可以返回字符串的小写了。

我们看下面这个图片,这样写就可以返回表中字符串的小写了。

这个函数的话很简单,就是返回前length个字符。
语法:
select left(string2, length);
我们看下面这个图片。这样就可以返回aaaaaa的前4个了。

要从右边开始去的话直接把left换成right就好。
这个函数的话就是返回里面字符的长度。
语法:
select length(string);

这个函数的话就是替换字符串里面的内容。
语法:
replace(原字符串, 要替换的子串, 替换后的子串)
我们看下面这个图片,通过这样的方式就可以完成替换,最重要的是在这里是区分大小写的。

这个函数的话就是逐字的比较两个字符串的大小(以ascii码来比较大小)
语法:
select strcmp(string1, string2);
0:当两个字符串完全相同时(长度和每个字符都一致)。1:当 string1 大于 string2 时(比较时从第一个不同的字符开始,string1 的字符 ascii 码更大)。-1:当 string1 小于 string2 时(同理,第一个不同字符的 ascii 码更小)。我们看下面这个图片,这样子返回的就是0。

这个函数的话我觉得就类似于可以选开始位置的left()函数。
语法:
select substring(str, position [,length]);
我们看下面这个图片,就是从第三个位置开始往后获取4个。

这个的话实际上是三个函数,只不过功能意义,只有一些细微上的差别,所以这边就直接放在一起了。他们三个都是用来去除字符串的空格的,只不过ltrim是去除字符串左边的空格,rtrim是去除字符串右边的空格,trim是去除字符串两边的空格。
语法:
select trim(string);
我们看下面这个图片,其实这两个都实现了去重,只不过上面那个名字太大了,所以显的好像后面那部分没有去一样。

到此这篇关于sql之表的字符串内置函数详解的文章就介绍到这了,更多相关sql表字符串内置函数内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论