sql server 字符串拆分
最近项目调取存储的时候直接传入string 作为in的查询范围,结果报错了,深思之后才发现,数据库对于传进来的String,并不是我们想的直接可以作为参数,而是作为一个整体,而in是需要一个类似array或者list的参数,为此,需要一个拆分string的sql 函数,还好之前的前辈留下了可以用的,稍微修改一下就可以了,下面来看看这个函数
FUNCTION f_split
(
-- Add the parameters for the function here
@SourceStr VARCHAR(max),@SeprateStr VARCHAR(10)
)
RETURNS @temp TABLE (a VARCHAR(1000))
AS
BEGIN
DECLARE @i INT
SET @SourceStr = RTRIM(LTRIM(@SourceStr))--去除空格
SET @i=CHARINDEX(@SeprateStr,@SourceStr)
WHILE @i>=1
BEGIN
INSERT @temp
( a )
VALUES ( LEFT(@SourceStr,@i-1) -- a - varchar(1000)
)
SET @SourceStr = SUBSTRING(@SourceStr,@i+1,LEN(@SourceStr)-@i)
SET @i=CHARINDEX(@SeprateStr,@SourceStr)
END
RETURN
END
GO
应该写的很清晰了,就不细说了,欢迎大家指导
sql server 字符串拆分的更多相关文章
- Sql Server字符串拆分(Split)方法汇总
详细链接:https://shop499704308.taobao.com/?spm=a1z38n.10677092.card.11.594c1debsAGeak--方法0:动态SQL法 declar ...
- sql server 字符串替换函数REPLACE
sql server 字符串替换函数REPLACE函数的使用 <pre name="code" class="sql">--参数1:需要替换字符的母 ...
- sql server字符串的类型
sql server字符串分为不同的类型,下面就将为您介绍几个sql server字符串的常见类型,希望对您学习sql server字符串能有所帮助. nchar 此数据类型可存储1~4000个定长U ...
- SQL Server 字符串拼接与拆分 string varchar Split and Join
1.Split SQL Server 2008 新语法: DECLARE @str VARCHAR(MAX) SET @str = REPLACE(@teeIDs, ',', '''),(''' ...
- SQL SERVER 字符串函数 STRING_SPLIT()
定义: STRING_SPLIT()函数根据指定的分隔符将字符串拆分为子字符串行. ※STRING_SPLIT 要求兼容性级别至少为 130. (即SSMS 2016及以上版本) ※级别低于 130 ...
- sql server 字符串转成日期格式
在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日 ...
- [转]SQL Server字符串处理函数大全
select语句中只能使用sql函数对字段进行操作(链接sql server), select 字段1 from 表1 where 字段1.IndexOf("云")=1;这条语句不 ...
- SQL Server字符串左匹配
在SQL Server中经常会用到模糊匹配字符串的情况,最简单的办法就是使用like关键字(like语法http://msdn.microsoft.com/en-us/library/ms179859 ...
- SQL SERVER字符串函数
本篇文章还是学习<程序员的SQL金典>内容的记录,此次将讲解的是SQL SERVER的字符串函数. 其实数据库跟程序语言库一样,都会集成很多可以使用的API.这些API,如果你熟悉的话,将 ...
随机推荐
- zabbix 邮件报警事件:Zabbix discoverer processes more than 75% busy
Problem has been resolved at :: on Problem name: Zabbix discoverer processes more than % busy Host: ...
- Charles中使用Rewrite提高测试效率
上次给大家演示了Charles中通过Map Local功能来提高测试效率,Charles还有另外一个强大的功能,Rewrite,这次也给大家演示一下. Charles中的Rewrite功能非常强大,可 ...
- @Mapper和@Repository的区别
参考博客地址 https://www.cnblogs.com/wangshen31/p/8735037.html 相同点 两个都是注解在Dao上 不同 @Repository需要在Spring中配置扫 ...
- Linux双网口配置时重复配置DEFROUTE和GATEWAY
配置一台机器时,沿袭了原有网口配置,修改网口名,把em1全部修改改为eth0 mv ifcfg-em1 ifcfg-eth0 mv ifcfg-em2 ifcfg-eth1 改完以后,机器变得不稳定, ...
- BZOJ1233 [Usaco2009Open]干草堆tower[贪心+单调队列优化]
地址 注意思路!多看几遍! 很巧妙的一道题.不再是决策点以dp值中一部分含j项为维护对象,而是通过维护条件来获取决策. 首先有个贪心策略,让底层的宽度尽可能小,才能让高度尽可能高.所以应该倒着dp,表 ...
- Oracle体系结构2
Buffer Cache 作用:缓存dbf中的数据 例子:A和B重复访问同一张表的几率是很大的,如果每次访问dbf时都要发生物理IO,这样会导致数据库的性能非常低 由于这个例子,当一个进程访问dbf时 ...
- Spring后台,通过name取值
表单中,有同名控件(text/hidden/checkbox.......)的情况下,采用getParameterValues("name"):String[] 表单中,只有一个n ...
- C语言 - strlen的编程实现及总结
一.函数strlen的编程实现 1.strlen函数的实现 原型: size_t strlen(const char *str); 头文件:#include <string.h> 功能:计 ...
- (Java多线程系列六)join()的用法和线程的优先级
join()的用法和线程的优先级 1.join()的用法 join()作用就是让其他线程处于等待状态 先看一个需求:创建一个线程,子线程执行完毕后,主线程才能执行 public class JoinT ...
- 关于多个py文件生成一个可运行exe文件(用pyinstaller)
首先下载Pyinstaller,在cmd命令下执行:pip installer Pyinstaller,不需要关心安装在哪 然后把所有相关的py文件都放在一个目录下 在那个目录下执行cmd命令:pyi ...