|
|
许多时候,都会遇到根据字符拆分的问题,在java和c#都很好解决,一行代码搞定,
但是,在数据库分割字符中,方法肯定会有的,但是,我也是第一次遇到这种情况,
额。。。以前也遇到过,当时忘记怎么解决的了。
从网上找了一个“SQLServer实现split分割字符串万能方法”,大家可是试试,可以用逗号#号等分割。
- SELECT temp.items as douhao FROM splitl('41564654,41564654,46578746,56565A,3211,1234,123454,13246512',',') as temp
- --下面是分割字符串方法
- CREATE FUNCTION splitl (
- @String VARCHAR(MAX),
- @Delimiter VARCHAR(MAX)
- ) RETURNS @temptable TABLE (items VARCHAR(MAX)) AS
- BEGIN
- DECLARE @idx INT=1
- DECLARE @slice VARCHAR(MAX)
- IF LEN(@String) < 1 OR LEN(ISNULL(@String,'')) = 0
- RETURN
- WHILE @idx != 0
- BEGIN
- SET @idx = CHARINDEX(@Delimiter,@String)
- IF @idx != 0
- SET @slice = LEFT(@String,@idx - 1)
- ELSE
- SET @slice = @String
- IF LEN(@slice) > 0
- INSERT INTO @temptable(items) VALUES(@slice)
- SET @String = RIGHT (@String, LEN(@String) - @idx)
- IF LEN(@String) = 0
- BREAK
- END
- RETURN
- END
复制代码
|
上一篇:ASP.NET MVC 给ViewBag赋值Html字符转义问题下一篇:SqlServer中实现返回刚插入记录的ID
|