sql截取字符串函数

2 02 2 年,遇到某城市的一个项目,需要屏蔽数据库中的字符串。
当时我就在犹豫是用SQL Server还是Oracle。
后来我才知道SQLServer有子串,Oracle也有子串。
我已经尝试过了。
SQLServer的写法是select substring(name1 ,1 ,charindex('.',name1 )) from table1 ,Oracle的写法是select substr(name1 ,1 ,instr(name1 ,'.')) from table1 当时我有点偏激,认为Oracle的写法更简洁。
现在想来,这两种方法各有优点。
对于charindex和instr,一个需要指定位置,一个直接提供位置。
这些细节帮助我对数据库处理有了更深入的了解。
那我花了多少钱?忘记了,反正还有不少。
目前,我已经掌握了这些功能,工作效率也提高了很多。
希望我的经验可以帮到你。

SQL-截取字符串函数

left('HelloWorld',5 ) 返回 'Hello' right('HelloWorld',5 ) 返回 'World' substring('HelloWorld',7 ,5 ) 返回 'World'
提取姓氏: SELECT left(name, len(name)
locate(' ', reverse(name))) FROM Teacher_info; 提取姓名: SELECT right(name, len(name)
locate(' ', name)) AS name_teacher FROM Teacher_info;
不要使用 len(name) 直接减 1

SQL 字符串函数如何提取固定长度字符?

结论:SQL防止定长字符,SUBSTRING通用,左/右简单。

1 .子串用法:从字符串的指定位置截取,从1 开始。
2 .左用法:从左侧拦截,从头开始拦截,不指定起始位置。
3 、正确用法:从右边截取,或者从末端截取,不指定起始位置。
4 . Oracle使用SUBSTR,而SQLite两者都支持。
5 、实际应用:截取用户名前缀、文件后缀、描述。
6 、自己掂量一下。