易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL Server 完美SPLIT函数


--
SQL Server Split函数
--
Author:zc_0101 
--
说明:
--
支持分割符多字节
--
使用方法 
--
Select * from DBO.F_SQLSERVER_SPLIT('1203401230105045','0')    
--
select * from DBO.F_SQLSERVER_SPLIT('abc1234a12348991234','1234') 
--
Select * from DBO.F_SQLSERVER_SPLIT('ABC',',')   
 
CREATE
 
FUNCTION
 F_SQLSERVER_SPLIT(
@Long_str
 
varchar
(
8000
),
@split_str
 
varchar
(
100
))    
RETURNS
  
@tmp
 
TABLE
(        
    ID          
inT
     
IDENTITY
 
PRIMARY
 
KEY
,      
    short_str   
varchar
(
8000
)    
)    
AS
   
BEGIN
   
    
DECLARE
 
@long_str_Tmp
 
varchar
(
8000
),
@short_str
 
varchar
(
8000
),
@split_str_length
 
int
   
    
SET
 
@split_str_length
 
=
 
LEN
(
@split_str
)    
    
IF
 
CHARINDEX
(
@split_str
,
@Long_str
)
=
1
 
         
SET
 
@long_str_Tmp
=
SUBSTRING
(
@Long_str
,
@split_str_length
+
1
,
LEN
(
@Long_str
)
-
@split_str_length
)
    
ELSE
         
SET
 
@long_str_Tmp
=
@Long_str
    
IF
 
CHARINDEX
(
REVERSE
(
@split_str
),
REVERSE
(
@long_str_Tmp
))
>
1
    
        
SET
 
@long_str_Tmp
=
@long_str_Tm


相关文档:

sql查询所有存储过程内容 利用游标和临时表


Use 数据库
DECLARE @ProcName varchar(50)
Create Table #tmpName(Content varchar(2000))
Create Table #tmp(ProcName varchar(2000),Content1 varchar(8000))
--定义一个游标
DECLARE SearchProc CURSOR FOR
--查询数据库中存储过程的名称,尽量去除系统PROC,可以根据crdate时间字段来寻找非系统PROC
select n ......

实现多行合并一行的SQL [MSSQL2005]写法

--1. 创建表,添加测试数据
CREATE TABLE tb(id int, [value] varchar(10))
INSERT tb SELECT 1, 'aa'
UNION ALL SELECT 1, 'bb'
UNION ALL SELECT 2, 'aaa'
UNION ALL SELECT 2, 'bbb'
UNION ALL SELECT 2, 'ccc'
--SELECT * from tb
/**//*
id value
----------- ----------
1 aa
1 bb
2 aaa ......

sql查询汇总

-
处理表重复记录(查询和删除)
/*
*****************************************************************************************************************************************************
1、Num、Name相同的重复值记录,没有大小关系只保留一条
2、Name相同,ID有大小关系时,保留大或小其中一个记录
整理人:中 ......

sql优化 对like ‘%xx%’ 的替换

在SQL中可以使用Like进行模糊查询,例如 f_stuname like 'a%' 查询f_stuname列以a开头的记录。
当我们在应用中使用
f_stuname
like '%a%' 时,如果

f_stuname有索引的话,这个索引也是不执行的
在SQL优化中这个写法就是一个不好的SQL了。
那么如何来替换这个呢,这一个就用到了Oracle的instr函数了
我们可以这样 ......

自己总结的不定条件SQL查询语句的写法

  我说的不定条件是指查询条件的个数不定。有时一个,有时两个,有时好几个。
首先我发现
select * from A where a='kkk' 与
select * from A where a like 'kkk'
其实效果是一样,只要 like 后面的字符串不包含通配符。这样一来就很方便了。譬如有
select * from A where a='KKK' and b='LLL'
有两个查询条件, ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号