sqlserver 字符串分拆 语句
-->Title:生成測試數據
-->Author:wufeng4552
-->Date :2009-09-21 09:02:08
if object_id('f_split')is not null drop function f_split
go
create function f_split
(
@s varchar(8000), --待分拆的字符串
@split varchar(10) --数据分隔符
)returns table
as
return
(
select substring(@s,number,charindex(@split,@s+@split,number)-number)as col
from master..spt_values
where type='p' and number<=len(@s+'a')
and charindex(@split,@split+@s,number)=number
)
go
select * from dbo.f_split('11,2,3',',')
/*
col
----
11
2
3
(3 個資料列受到影響)
*/
相关推荐
-
SQL Server实现将特定字符串拆分并进行插入操作的方法
本文实例讲述了SQL Server实现将特定字符串拆分并进行插入操作的方法.分享给大家供大家参考,具体如下: --循环执行添加操作 declare @idx as int While Len(@UserList) > 0 Begin Set @idx = Charindex(',', @UserList); --只有一条数据 If @idx = 0 and Len(@UserList) > 0 Begin Insert Into BIS_MsgCenterInfo(ID,MsgID,UserI
-
sqlserver中去除字符串中连续的分隔符的sql语句
以下测试用于去除任何字符串中连线的分隔符 复制代码 代码如下: --去除字符串中连续的分隔符 declare @str nvarchar(200) declare @split nvarchar(200),@times int set @str='中 国1 2 34 55 5 6 7 7';--字符 set @split=' '; --分隔符 select @times=(len(@str)-len(replace(@str,@split+@split,'')))/2 while @times>
-
SqlServer下通过XML拆分字符串的方法
复制代码 代码如下: DECLARE @idoc int; DECLARE @doc xml; set @doc=cast('<Root><item><ProjID>'+replace(@SelectedProjectArray,',','</ProjID></item><item><ProjID>')+'</ProjID></item></Root>' as xml) EXEC sp_
-
sqlserver2008 拆分字符串
--说明:例如,将下列数据 id id_value ----------------- 1 'aa,bb' 2 'aa,bb,cc' 3 'aaa,bbb,ccc' --转换成以下的格式 id id_value ----------------- 1 'aa' 1 'bb' 2 'aa' 2 'bb' 2 'cc' 3 'aaa' 3 'bbb' 3 'ccc' --代码-------------------------------------------GO 复制代码 代码如下: create
-
SQLServer中的切割字符串SplitString函数
复制代码 代码如下: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO /* by kudychen 2011-9-28 */ CREATE function [dbo].[SplitString] ( @Input nvarchar(max), --input string to be separated @Separator nvarchar(max)=',', --a string that delimit the substrings in
-
SQLSERVER2008中CTE的Split与CLR的性能比较
我们新建一个DataBase project,然后建立一个UserDefinedFunctions,Code像这样: 复制代码 代码如下: 1: /// <summary> /// SQLs the array. /// </summary> /// <param name="str">The STR.</param> /// <param name="delimiter">The delimiter.&l
-
SQL Server实现split函数分割字符串功能及用法示例
本文实例讲述了SQL Server实现split函数分割字符串功能及用法.分享给大家供大家参考,具体如下: /* 函数名称:f_SplitToNvarchar 作用:实现split功能的函数 更新记录: 设计思路:将nvarchar类型字符结合的一个串,分隔到一张只有一列nvarchar类型的表里 */ CREATE FUNCTION [dbo].[f_SplitToNvarchar] ( @SourceSql NVARCHAR(MAX),--源分隔字符串 @StrSeprate VARCHAR
-
sqlserver中根据字符分割字符串的最好的写法分享
知识点: 1.拼接SQL 2.UNION ALL 3.EXEC 其代码如下: 复制代码 代码如下: --测试示例 declare @sql varchar(2000),@tsql nvarchar(max),@split varchar(100) set @sql='A,B,C,D,E' --保存的字符 set @split=','--分隔符 select @tsql='select '''+replace(@sql,@split,''' union all select ''')+'''' e
-
sqlserver 字符串分拆 语句
复制代码 代码如下: -->Title:生成測試數據 -->Author:wufeng4552 -->Date :2009-09-21 09:02:08 if object_id('f_split')is not null drop function f_split go create function f_split ( @s varchar(8000), --待分拆的字符串 @split varchar(10) --数据分隔符 )returns table as return ( s
-
SqlServer 垂直分表(减少程序改动)
由于sqlserver的设计特殊性,一般大量数据一般都是采用水平分表,而垂直分表只是把text.图片都较大数据放到单独的表中,这样数据设计会更合理,相对于mysql可能要好一点,mssql本来就是一个文件,基本上提升不大,目前来看几十万的数据没有分不分表没有任何影响,对于千万以上数据还是采用水平分表比较好. 而 垂直分表 则相对很少见到和用到,因为这可能是数据库设计上的问题了.如果数据库中一张表有部分字段几乎从不不更改但经常查询,而部分字段的数据频繁更改,这种设计放到同一个表中就不合理了,相互影
-
详解webpack4之splitchunksPlugin代码包分拆
本文讲解的是最近在做的一个多页面项目,结合webpack4的splitChunks进行代码包分拆的过程 项目框架 项目有home和topic两个入口文件,主要包括: react.mobx.antd作为项目的基本框架, echarts和d3(画图)是项目中部分页面用到比较大的组件库 src下的工作的组件和代码 其他的非公共代码. 两个入口文件都用react-loadable做了异步加载 import Loadable from 'react-loadable'; ... const Loadabl
-
sqlserver中遍历字符串的sql语句
复制代码 代码如下: declare @ddd varchar(50),@split varchar(1) set @ddd = '12345678,1234567890,1234567890,123456,123456789' set @split = ',' while(charindex(@split,@ddd)<>0) begin select substring(@ddd,1,charindex(@split,@ddd)-1) set @ddd = stuff(@ddd,1,char
-
mysql替换表中的字符串的sql语句
核心语句: UPDATE `cdb_pms` SET `subject` = REPLACE(`subject`, 'Welcome to', '欢迎光临') mysql替换字段里数据内容部分字符串 mysql替换表的字段里面内容,如例子: mysql> select host,user from user where user='testuser'; +-----------------------+----------+ | host | user
-
SQLServer 管理常用SQL语句
1. 查看数据库的版本 select @@version 2. 查看数据库所在机器操作系统参数 exec master..xp_msver 3. 查看数据库启动的参数 sp_configure 4. 查看数据库启动时间 select convert(varchar(30),login_time,120) from master..sysprocesses where spid=1 查看数据库服务器名和实例名 print 'Server Name...............:' + conver
-
SqlServer中批量update语句
现在我有两张表分别是S_PERSON,S_USER S_PERSON S_USER 我现在想把S_USER表中的ACCOUNT批量修改成S_PERSON的ACCOUNT 我们可以发现S_USER表中有个跟S_PERSON表关联的字段 那就是PERSON_ID 这也是我们要update的条件 找到这个关系以后我们就不难写sql了 update S_USER set account=p.account from S_PERSON p where p.id=S_USER.person_id; 结果为:
-
SqlServer如何通过SQL语句获取处理器(CPU)、内存(Memory)、磁盘(Disk)以及操作系统相关信息
在SQL SERVER中如何通过SQL语句获取服务器硬件和系统信息呢?下面介绍一下如何通过SQL语句获取处理器(CPU).内存(Memory).磁盘(Disk)以及操作系统相关信息.如有不足和遗漏,敬请补充.谢谢! 一:查看数据库服务器CPU的信息 ---SQL 1:获取数据库服务器的CPU型号 EXEC xp_instance_regread 'HKEY_LOCAL_MACHINE', 'HARDWARE\DESCRIPTION\System\CentralProcessor\0', 'Pro
-
sqlserver FOR XML PATH 语句的应用
复制代码 代码如下: DECLARE @TempTable table(UserID int , UserName nvarchar(50)); insert into @TempTable (UserID,UserName) values (1,'a') insert into @TempTable (UserID,UserName) values (2,'b') select UserID,UserName from @TempTable FOR XML PATH 运行这段脚本,将生成如下结
-
在SQLServer上查看SQL语句的执行时间的方法
1:下面这种是比较简单的查询方法,通过查询前的时间和查询后的时间差来计算的 复制代码 代码如下: declare @begin_date datetime declare @end_date datetime select @begin_date = getdate() <这里写上你的语句...> select @end_date = getdate() select datediff(ms,@begin_date,@end_date) as '用时/毫秒' 2:下面这种方法比较全面,将执行每
随机推荐
- 解析PayPal支付接口的PHP开发方式
- PHP 批量删除 sql语句
- 使用VBS访问外部文本文件一些方法和脚本实例代码
- Java实现快速排序算法(Quicktsort)
- asp下用fso和ado.stream写xml文件的方法
- 概率的问题:使用递归与多次试验模拟的分析
- Android自动播放Banner图片轮播效果
- 无组件实现文件上传/下载
- jquery获取链接地址和跳转详解(推荐)
- 一款Jquery 分页插件的改造方法(服务器端分页)
- 微信小程序--组件(swiper)详细介绍
- ubuntu 13.10编译安装mono环境(二)
- Android UI设计与开发之使用ViewPager实现欢迎引导页面
- php安装php_rar扩展实现rar文件读取和解压的方法
- Yii2主题(Theme)用法详解
- Android自定义ProgressDialog进度等待框
- 23种设计模式(8) java外观模式
- Java中使用JWT生成Token进行接口鉴权实现方法
- centOS安装mysql5.7详细教程
- Docker利用busybox创建基础镜像(base image)