微软SQL Server数据库中包含了很多内置的函数,入下图:
它们用于处理日期、数学、元数据、字符串等。
其中最为常用的就是处理字符串,里面包含了CharIndex()等函数,非常方便使用。
但是对于 特殊字符串的处理,比如:ISBN号 '978-7-5007-7234-7',如果想获取第三个与第四个分割符号之间的数字,
那么SQL 内置函数无法直接做到。这时就需要自定义函数。下面自定义三个函数,用于处理特殊的字符串。
一、按指定符号分割字符串,返回分割后的元素个数
调用函数:select dbo.Fun_GetStrArrayLength('978-7-5007-7234-7','-')
结果:5
二、按指定符号分割字符串,返回分割后指定索引的第几个元素,像数组一样方便
调用函数:select dbo.Fun_GetStrArrayStrOfIndex('978-7-5007-7234-7','-',4)
结果:7234
三、像数组一样遍历字符串中的元素
调用示例:select * from dbo.Fun_SplitStr('978-7-5007-7234-7','-')
结果: 978
7
5007
7234
7