【sql server 字符串替换 1992-2008 '-'替换为@】教程文章相关的互联网学习教程文章

sqlserver2012数据库所有表里查找某字符串的方法

代码如下:USE [数据库名称]; --1.定义需要查找的关键字。在搜索中,使用模糊搜索:LIKE %@key_find% DECLARE @key_find NVARCHAR(MAX) = 123;--假设是找字符串"123" --2.用游标Cursor_Table,遍历所有表 DECLARE Cursor_Table CURSOR FOR SELECT name from sysobjects WHERE xtype = u AND name <> dtproperties; OPEN Cursor_Table; DECLARE @tableName NVARCHAR(MAX); FETCH NEXT from Cursor_Table INTO @tableName; WHILE ...

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,charindex(@split,@ddd),) select @ddd end

sqlserver字符串非空判断实现方法

代码如下: CREATE function getcolor (@井号 varchar(50),@层位 varchar(50)) returns varchar(200) as begin declare @sql varchar(2000);set @sql= --distinct select @sql=@sql+ 颜色+, from ( select distinct 颜色 from yourtablename where 井号=@井号 and 层位=@层位 and 颜色 is not null ) aa set @sql=substring(@sql,1,len(@sql)-1) return @sql end 我发现set @sql=substring(@sql,1,len(@sql)-1)这句有的时候会报错,...

SQLServer中通过reverse取某个最后一次出现的符号后面的内容(字符串反转)

sql语句 代码如下:reverse(substring(reverse(Path),1,charindex(/,reverse(Path)) - 1)) SQL如何取出一个字符串中最后一个特殊字符右边的字符,例如:10*20*300,怎样得到300?使用reverse配合charindex来实现。 reverse是把字符串倒置,然后通过charindex来获取倒置之后第一个*的位置,然后使用substring函数进行字符串截取,截取后再使用reverse倒置回来即可。 以下为例子 declare @str varchar(20) set @str = '10*20*300' sel...

SQLServer字符串切割函数

代码如下: CREATE FUNCTION fGetStrBySplit ( @Source VARCHAR(max), @Index INT, @SplitChar VARCHAR(1) ) RETURNS varchar(MAX) AS BEGIN DECLARE @Len INT DECLARE @n INT = 0 DECLARE @ChIndex INT DECLARE @Result VARCHAR(MAX) --获取总长度 SET @Len = LEN(@Source) --获取切割字符位置 SET @ChIndex = CHARINDEX(@SplitChar,@Source) WHILE @ChIndex > 0 BEGIN IF(@n = @Index) BEGIN SET @Source = SUBSTRING(@Source,0,@...

SQLServer中字符串左对齐或右对齐显示的sql语句

知识点: 函数 replicate 以下代码是实现如下功能: 代码如下: declare @sql varchar(200), --需填充的字符串 @char varchar(4), --填充使用的字符 @len int --填充后的长度 select @sql=abc select @char= select @len=10 select (right(replicate(@char,@len)+@sql,@len)) 右对齐 ,@sql+replicate(@char,@len-LEN(@sql)) 左对齐 作者: t134679 您可能感兴趣的文章:REPLICATE 以指定的次数重复字符表达式

SQLserver中字符串查找功能patindex和charindex的区别

最近经常使用字符串查找功能。 包括 1、全匹配查找字符串 2、模糊查找字符串 CHARINDEX 和 PATINDEX 函数都返回指定模式的开始位置。PATINDEX 可使用通配符,而 CHARINDEX 不可以。   这两个函数都带有2个参数:   1 希望获取其位置的模式。使用 PATINDEX,模式是可以包含通配符的字面字符串。使用 CHARINDEX,模式是字面字符串(不能包含通配符)。   2 字符串值表达式(通常为列名)。   例如,查找模式"wonderful"在 ti...

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 )+ exec(@tsql) 显示结果: ---- A C D E (5 行受影响) 您可能感兴趣的文章:SQLServer中的切割字符串SplitString函数SQLSERVER2008中CTE的Split与CLR的性...

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>0 begin set @str=REPLACE(@str,@split+@split, ) set @times=@times-1 end select @str 希望对大家有作用 测试结果: 中 国...

sqlserver中求字符串中汉字的个数的sql语句

关于这个话题,我也看到网上有其他方法来解决。 不过从性能和代码量上来看,我有更好的办法。 在这里和大家 分享。 原理其实很简单, 知识1、长度函数 len(); 知识2、还是长度函数datalength(); 代码如下: 代码如下: declare @sql varchar(1000) set @sql=abc国m,de中d国e人民f select @sql 字符,DATALENGTH(@sql)-len(@sql) 汉字个数

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 the input string @RemoveEmptyEntries bit=1 --the return value does not include array elements that contain an empty string ) returns @TABLE table ( [Id]...

sqlserver数据库连接字符串中的可选项收集

Application Name(应用程序名称):应用程序的名称。如果没有被指定的话,它的值为.NET SqlClient Data Provider(数据提供程序)。 AttachDBFilename/extended properties(扩展属性)/Initial File Name(初始文件名):可连接数据库的主要文件的名称,包括完整路径名称。数据库名称必须用关键字数据库指定。 Connect Timeout(连接超时)/Connection Timeout(连接超时):一个到服务器的连接在终止之前等待的时间长度(以秒...

sqlserver中比较一个字符串中是否含含另一个字符串中的一个字符

版本一:按分隔符进行比较 算法思路:按分隔符截取搜索字符串循环与待搜索字符进行比较 代码如下: USE [Fly] GO --参数:@inStr 待搜索字串,@fndStr 搜索字串,@doc 分隔符 -- 例:select dbo.fSearch(1,2,3,4,5,6,3,6,5,8,2,,) 返回0-不匹配,返回1-匹配(@instr中有@fndStr内容) --可以用于表搜索,如: -- Select *,dbo.fSearch(str,3,6,5,8,2,,) as 是否匹配 from 表名 -- @fndStr和@doc两个参数就需要你自己提供了,@inStr可...

MSSQL将截断字符串或二进制数据问题的解决方法

地图数据存放在sqlserver 2008中,使用mapxtreme7 开发时,使用Feature.Update()方法时出错的提示包含“MSSQL 将截断字符串或二进制数据” 主要原因就是给某个字段赋值时,内容大于字段的长度或类型不符造成的 解决方法: 一个是修改数据库字段大小; 再一就是是加强数据强壮性,严格的输入判断。 防止添加的信息类型或者长度与数据库表中字段所对应的类型不符合。 您可能感兴趣的文章:C# double和decimal数据类型以截断的方式保留...

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_xml_preparedocument @Idoc OUTPUT, @doc SELECT ProjID FROM OPENXML (@Idoc, /Root/item,2) WITH ( [ProjID] varchar(10) ) 您可能感兴趣的文章:SQLServer中的切割字符串SplitString函数SQLSERVER2008中CTE的Split与CLR的性能比...