sql server中常见字符串处理(待续)
2016-04-06 14:32
232 查看
常见的字符处理函数:
SELECT CHARINDEX('A','ABCDE') --returns bigint 查找字符串2中字符串1的位置,若无则返回0 SELECT LEN('ABCDE') --返回字符串的字符数 SELECT RIGHT('ABCDE',2) --返回字符串从右开始指定数字的字符串个数 SELECT LEFT('ABCDE',2) --返回字符串从左开始指定数字的字符串个数 SELECT REPLACE('ABCDE','A','|')--将字符串1中的字符串2替换为字符串3 SELECT SUBSTRING('ABCDE',2,3) --返回字符串1中的某个开始位置的固定长度的字符 SELECT LTRIM(' ABCDE') --返回删除了前空格之后的字符 SELECT RTRIM('ABCDE ') --返回删除了后空格之后的字符
1. 按固定字符串分隔字符。
如:字符 '12|1|4' ,需要按字符'|' 分隔成 12 1 4
USE [text] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO /*创建一个表值函数,标量值函数与表值函数的区别:表值函数返回一个表,标量值函数返回值*/ CREATE FUNCTION [dbo].[fn_RowToColumn_ByID] ( @GroupId nvarchar(max), @ColumnStr nvarchar(max), @Separator nvarchar(max)=',' ) returns @TABLE table ( [id] int identity(1,1), [name] nvarchar(max), [Value] nvarchar(max) ) as begin declare @Index int declare @Entry nvarchar(max) set @Index = charindex(@Separator,@ColumnStr) while (@Index>0) begin set @Entry=ltrim(rtrim(substring(@ColumnStr, 1, @Index-1))) if @Entry<>'' begin insert into @TABLE([name],[Value]) Values(@GroupId,@Entry) end set @ColumnStr = substring(@ColumnStr, @Index + LEN(@Separator), len(@ColumnStr)) set @Index = charindex(@Separator, @ColumnStr) end set @Entry=ltrim(rtrim(@ColumnStr)) if @Entry<>'' begin insert into @TABLE([name],[Value]) Values(@GroupId,@Entry) end return END USE [text] GO SELECT * FROM [dbo].[fn_RowToColumn_ByID]('A','12|1|4','|')
相关文章推荐
- strcpy系列字符串处理函数的常见误用及正确使用方法
- SQL Server字符串处理函数大全
- SQL Server字符串处理函数大全
- 最常见的程序员面试题(10)字符串的处理
- SQL Server截取字符串和处理中文技巧
- 3.4.5字符串处理的常见问题-实验4
- C#字符串常见处理
- SQL Server日期格式处理-把14位字符串返回成日期格式
- Sqlserver常见字符串/日期处理函数
- 在SQL Server中,当你处理Unicode字符串常量的时候,你必须在所有Unicode字符串前添加N前缀
- mysql常见字符串处理函数结束
- 串的处理 在实际的开发工作中,对字符串的处理是最常见的编程任务。本题目即是要求程序对用户输入的串进行处理。具体规则如下: 1. 把每个单词的首字母变为大写。 2. 把数字与字母之间用下划线字符(_)分
- sql server 数字字母串转十进制字符串处理
- String类处理字符串的常见方法
- SQL Server字符串处理函数大全
- JS中常见的字符串拼接处理
- PHP常见字符串处理函数用法示例【转换,转义,截取,比较,查找,反转,切割】
- sql server 字符串处理函数
- MySQL中常见的字符串处理函数
- sql server日志损坏的常见处理办法