sql 将字符串转换为表
我们常常碰到需要将用户输入之字符串依特定的分隔符转换为表的一个栏位,下面是我写的一个sql函数.如能灵活运用则用途广泛.
-- =============================================
-- Author: honhwa
-- Create date: 2014/09/02
-- Description: Convert String to Table
-- =============================================
CREATE FUNCTION [dbo].[fn_StringToTable]
(
@str NVARCHAR(MAX) = '', @split NVARCHAR(30) = ','
)
RETURNS
@TempView TABLE
(
Cond NVARCHAR(MAX), Seq INT
)
AS
BEGIN
DECLARE @i INT = 1, @seq INT = 1
DECLARE @cond NVARCHAR(MAX) = '' SELECT @str = @str + @split WHILE CHARINDEX(@split, @str , @i) > 0 Begin
SELECT @cond = SUBSTRING(@str, @i, CHARINDEX(@split, @str, @i) - @i)
IF @cond <> ''
INSERT @TempView(Cond, Seq) VALUES(@cond, @seq)
SELECT @i = CHARINDEX(@split, @str, @i) + 1, @seq = @seq + 1
END
RETURN
END
示例 : SELECT * FROM fn_StringToTable('aaa,bbb,ccc,ddd,eee,fffff,sssss', ',') fstt
Cond Seq
aaa 1
bbb 2
ccc 3
ddd 4
eee 5
fffff 6
sssss 7
sql 将字符串转换为表的更多相关文章
- T-SQL Table-valued Function使用分隔符将字符串转换为表
)=' ') RETURNS @Strings TABLE ( ITEM_VALUE VARCHAR(MAX) ) AS BEGIN DECLARE @index INT ) BEGIN SET @i ...
- SQL SERVER 将表中字符串转换为数字的函数 (详询请加qq:2085920154)
在SQL SERVER 2005中,将表中字符串转换为数字的函数共2个:1. convert(int,字段名) 例如:select convert(int,'3')2. cast(字段名 as i ...
- Sql Server 中将由逗号“,”分割的一个字符串转换为一个表集,并应用到 in 条件中
Sql Server 中将由逗号“,”分割的一个字符串,转换为一个表,并应用与 in 条件 ,,) 这样的语句和常用,但是如果in 后面的 1,2,3是变量怎么办呢,一般会用字符串连接的方式构造sql ...
- mssql sqlserver sql对使用逗号分隔的字符串 转换为数据表的另类方法实现
转自:http://www.maomao365.com/?p=10739 摘要: 下文讲述在sqlserver 对逗号分隔的字符串转换为数据表的另类方法实现,如下所示: 实验环境:sql server ...
- 将某个日期字符串转换为java.sql.Date的类型
import java.text.ParseException; import java.text.SimpleDateFormat; public class date { /** * @param ...
- sql server将字符串转换为 uniqueidentifier 时失败
sql server查询中出现 将字符串转换为 uniqueidentifier 时失败异常 原因为id设置为uniqueidentifier 字段,在where查询时需要做转换cast(id as ...
- mysql里面如何用sql语句让字符串转换为数字
sql语句将字符串转换为数字默认去掉单引号中的空格,遇到空格作为字符串截止, SELECT '123 and 1=1' +0 结果为123 MySQL里面如何用sql语句让字符串的‘123’转换为数字 ...
- SQL 字符串分割表函数
--字符串分割表函数 ) ) declare @i int; declare @count int; ); ); declare @Index int; )) declare @rowID int; ...
- SQL中字符串截取、连接、替换等函数的用法
一.SQL中SUBSTRING函数的用法1.功能:返回字符.二进制.文本或图像表达式的一部分2.语法:SUBSTRING ( expression, start, length )3.QL 中的 su ...
随机推荐
- HR外包系统 - 客户公司薪资规则 报表需求 记入系统
1 薪酬规则,包括 常用薪资项目 2 报表需求,特别是报表排序规则 3 特殊项说明记录 另外包括客户公司监控的日期设置
- PMP 第六章 项目时间管理
定义活动 排列活动顺序 估算活动资源 估算活动持续时间 制定进度计划 控制进度计划 1.进度管理计划和进度计划的内容分别是什么,有什么区别? 进度计划:项目各活动计划完成日期的编排. 进度管理计 ...
- Android:dimen尺寸资源文件的使用(转)
为了适配不同的分辨率. dimen.xml在values文件夹下面 <resources> <!-- Default screen margins, per the Android ...
- loj1011 状态压缩
题目链接:http://lightoj.com/volume_showproblem.php?problem=1011 思路:最近的开始做dp了...很明显的一道状态压缩题,dp[n][state]表 ...
- 运行在linux上的mysql常用命令
mysql的注释:--或者# 1.mysql服务进程的命令 service mysqld start;#启动mysql服务 service mysqld status;#查看服务状态 service ...
- java中static作用详解
static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被static修饰的成员变量和成员方法独立于该类的任何 ...
- 各浏览器抗uaf机制
今年中旬,微软针对旗下ie浏览器中大量出现的uaf漏洞,对ie浏览器的安全机制进行了一个大幅度的升级,其中主要体现为隔离堆及延迟释放两个机制,顿时又将uaf漏洞的利用向上提升了一个大坎, 但是类似的对 ...
- Robotium编写测试用例如何模拟Junit4的BeforeClass和AfterClass方法2 - SingleLaunchActivityTestCase
本文来源于:http://blog.csdn.net/zhubaitian/article/details/39296753 在上一遍笔记博客中本以为只能在Setup和TearDown中做条件判断来实 ...
- Linux 积累
Unable to locate package 解决办法: sudo apt-get update
- 关于dialog置于底层的问题
我今天开发的一个dialog,引用代码中已有的,发现是居中的 接下来,我要把它置为底部 然后,我的思路就是从dialog的view设置入手,还用了setgravity,最后还是不成功 所以,后来,我休 ...