SQL Server字符串切割函数
撰写用户自定义函数,此函数是一种 Transact-SQL 例程,它已保存并返回特定值。此类用户定义函数的功能独特,它们并不能用于改变全局数据库状态的系列操作。与系统函数相似,用户定义函数可以在查询中轻松调用,并且类似于存储过程,可以通过 EXECUTE 语句执行。
以下是创建用户定义函数的示例代码:
```sql
CREATE FUNCTION fGetStrBySplit
(
@Source VARCHAR(max),
@Index INT,
@SplitChar VARCHAR(1)
)
RETURNS varchar(MAX)
AS
BEGIN
DECLARE
@Len INT,
@n INT = 0,
@ChIndex INT,
@Result VARCHAR(MAX)
-- 计算源字符串的总长度
SET @Len = LEN(@Source)
-- 寻找切割字符的位置
SET @ChIndex = CHARINDEX(@SplitChar,@Source)
WHILE @ChIndex > 0
BEGIN
IF(@n = @Index)
BEGIN
SET @Source = SUBSTRING(@Source,0,@ChIndex)
BREAK
END
SET @Source = SUBSTRING(@Source,@ChIndex+1,@Len)
SET @ChIndex = CHARINDEX(@SplitChar,@Source)
SET @Len = LEN(@Source)
SET @n = @n + 1
END
RETURN @Source
END
GO
```
如何使用这个函数呢?让我们来试试看:
```sql
-- 调用函数
DECLARE @value VARCHAR(max)
SET @value = dbo.fGetStrBySplit('64500201_45854_183677_12',0,'_')
PRINT @value -- 输出结果:64500201
```
这个函数能够将传入的字符串按照指定的分隔符进行分割,并返回第@Index位置的子字符串。在我们的示例中,字符串'64500201_45854_183677_12'被'_'分割,并获取了第一个子字符串"64500201"。值得注意的是,此函数并不适用于改变全局数据库状态的操作,它仅用于获取特定位置的字符串片段。
编程语言
- SQL Server字符串切割函数
- jQuery学习笔记之jQuery中的$
- Yii配置与使用memcached缓存的方法
- node.js操作mongodb学习小结
- flash 报错捕获(Catch All Exception in Flash)
- phpinfo()中Loaded Configuration File(none)的解决方法
- jQuery获得document和window对象宽度和高度的方法
- 在laravel中实现ORM模型使用第二个数据库设置
- JavaScript中使用Math.PI圆周率属性的方法
- 关于laravel模板中生成URL的几种模式总结
- JS实现title标题栏文字不间断滚动显示效果
- PHP垃圾回收机制引用计数器概念分析
- 使用淘宝IP库获取用户ip地理位置
- JavaScript自定义等待wait函数实例分析
- JavaScript与jQuery实现的闪烁输入效果
- php中利用str_pad函数生成数字递增形式的产品编号