惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Cyberwarzone
Cyberwarzone
F
Full Disclosure
V
Visual Studio Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
有赞技术团队
有赞技术团队
J
Java Code Geeks
博客园 - 【当耐特】
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 叶小钗
L
LINUX DO - 最新话题
T
Threatpost
S
SegmentFault 最新的问题
Vercel News
Vercel News
云风的 BLOG
云风的 BLOG
C
Cyber Attacks, Cyber Crime and Cyber Security
Google DeepMind News
Google DeepMind News
Know Your Adversary
Know Your Adversary
S
Schneier on Security
V
Vulnerabilities – Threatpost
D
DataBreaches.Net
G
GRAHAM CLULEY
Latest news
Latest news
P
Privacy International News Feed
D
Darknet – Hacking Tools, Hacker News & Cyber Security
C
CXSECURITY Database RSS Feed - CXSecurity.com
Scott Helme
Scott Helme
L
Lohrmann on Cybersecurity
T
The Exploit Database - CXSecurity.com
Security Latest
Security Latest
G
Google Developers Blog
L
LangChain Blog
MyScale Blog
MyScale Blog
Project Zero
Project Zero
N
News and Events Feed by Topic
Hacker News - Newest:
Hacker News - Newest: "LLM"
大猫的无限游戏
大猫的无限游戏
P
Proofpoint News Feed
Blog — PlanetScale
Blog — PlanetScale
阮一峰的网络日志
阮一峰的网络日志
N
News | PayPal Newsroom
www.infosecurity-magazine.com
www.infosecurity-magazine.com
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
SecWiki News
SecWiki News
T
Tor Project blog
C
Check Point Blog
Google Online Security Blog
Google Online Security Blog
GbyAI
GbyAI
The Last Watchdog
The Last Watchdog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
WordPress大学
WordPress大学

博客园 - 亦心

教你如何查找并下载某手某音上的外部视频 求出两个字符串中最大长度的相同的子字符串 年会抽奖软件 正则表达式+编码转换小工具 sql语句跨库导入导出 Google maps API开发(二) - 亦心 Google maps API开发(一) - 亦心 Javascript树型菜单(含源码) Javascript结合XML省市级联 - 亦心 - 博客园 ASP.NET程序读取二代身份证(附源码) - 亦心 - 博客园 仿百度搜索智能提示(纯JS实现) 发现一个免费申请国际域名的地方!! asp.net性能优化 分享一个分页存储过程和分页函数 利用反射实现通用的DataReader转List、DataReader转实体类 任意类型转换成json javascript正则表达式 - 亦心 - 博客园 access、excel取随机n条记录 测试SQL Server执行时间和CPU时间
tsql字符串操作
亦心 · 2009-12-03 · via 博客园 - 亦心

 把以前做项目时用到的字符串操作函数发出来:

/*-----------------------------------------------------------------------------------------

* Copyright(C) 2008  版权所有

* 功能描述:得到字符串长度

* 创建标识:亦心,2009年月日

* 修改标识:

-----------------------------------------------------------------------------------------*/

IF EXISTS (SELECT * FROM sysobjects WHERE id = OBJECT_ID(N'[dbo].Fun_GetStrArrayLength') AND type in (N'FN', N'PC'))

    DROP FUNCTION [dbo].Fun_GetStrArrayLength

GO

CREATE function Fun_GetStrArrayLength 

( 

@str varchar(1024), --要分割的字符串

@split varchar(10) --分隔符号

) 

returns int 

as 

begin 

declare @location int 

declare @start int 

declare @length int 

declare @len int

set @len=datalength(@split)  --add

set @str=ltrim(rtrim(@str)) 

set @location=charindex(@split,@str) 

set @length=1 

while @location<>0 

begin 

set @start=@location+@len 

set @location=charindex(@split,@str,@start) 

set @length=@length+1 

end 

return @length 

end

GO

/*-----------------------------------------------------------------------------------------

* Copyright(C) 2008  版权所有

* 功能描述:得到要索引的字符串

* 创建标识:亦心,2009年月日

* 修改标识:

-----------------------------------------------------------------------------------------*/

IF EXISTS (SELECT * FROM sysobjects WHERE id = OBJECT_ID(N'[dbo].Fun_GetStrArrayStrOfIndex') AND type in (N'FN', N'PC'))

    DROP FUNCTION [dbo].Fun_GetStrArrayStrOfIndex

GO

CREATE function Fun_GetStrArrayStrOfIndex 

( 

@str varchar(1024), --要分割的字符串

@split varchar(10), --分隔符号

@index int --取第几个元素

) 

returns varchar(1024) 

as 

begin 

declare @location int 

declare @start int 

declare @next int 

declare @seed int 

set @str=ltrim(rtrim(@str)) 

set @start=1 

set @next=1 

set @seed=datalength(@split) 

set @location=charindex(@split,@str) 

while @location<>0 and @index>@next 

begin 

set @start=@location+@seed 

set @location=charindex(@split,@str,@start) 

set @next=@next+1 

end 

if @location =0 select @location =datalength(@str)+1 

--这儿存在两种情况:、字符串不存在分隔符号2、字符串中存在分隔符号,跳出while循环后,@location为,那默认为字符串后边有一个分隔符号。

return substring(@str,@start,@location-@start) 

end

GO

/*-----------------------------------------------------------------------------------------

* Copyright(C) 2008  版权所有

* 功能描述:得到字符串列表

* 创建标识:亦心,2009年月日

* 修改标识:

-----------------------------------------------------------------------------------------*/

if exists(select * FROM dbo.sysobjects WHERE id=object_id(N'dbo.Fun_SplitStr') AND type in (N'FN', N'PC'))

      DROP FUNCTION Fun_SplitStr

GO

CREATE  function Fun_SplitStr

(

    @SourceSql   varchar(8000),

    @StrSeprate   varchar(100))

    returns   @temp   table(F1   varchar(100)

)  

  as    

  begin  

  declare   @ch   as   varchar(100)  

  set   @SourceSql=@SourceSql+@StrSeprate     

  while(@SourceSql<>'')  

                  begin  

                  set   @ch=left(@SourceSql,charindex(@StrSeprate,@SourceSql,1)-1)  

  insert   @temp   values(@ch)  

  set   @SourceSql=stuff(@SourceSql,1,charindex(@StrSeprate,@SourceSql,1),'')  

                  end  

  return  

  END

  GO

/*-----------------------------------------------------------------------------------------

* Copyright(C) 2008  版权所有

* 功能描述:合并处理函数

* 创建标识:亦心,2009年月日

* 修改标识:

-----------------------------------------------------------------------------------------*/

if exists(select * FROM dbo.sysobjects WHERE id=object_id(N'dbo.Fun_Join') AND type in (N'FN', N'PC'))

      DROP FUNCTION Fun_Join

GO

CREATE FUNCTION dbo.Fun_Join(@col1 varchar(10))

RETURNS varchar(100)

AS

BEGIN

    DECLARE @re varchar(100)

    SET @re=''

    SELECT @re=@re+','+CAST(col2 as varchar)

    FROM tb

    WHERE col1=@col1

    RETURN(STUFF(@re,1,1,''))

END

GO

每天进步一点点...