易截截图软件、单文件、免安装、纯绿色、仅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 [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 Server挂起

在运行窗口输入regedit,打开注册表编辑器,在HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager中找到PendingFileRenameOperations,删除该键值,关闭注册表编辑器。重新安装SQL Server 2000,此时,就可以正常进入期待的安装界面了。 ......

在SQL中使用convert函数进行日期的查询

曾经遇到这样的情况,在数据库的Meeting表中有PublishTime (DateTime,8)字段,用来存储一个开会时间,在存入时由于要指明开会具体时间,故格式为yyyy-mm-dd hh:mm:ss,而我们查询时是通过yyyy-mm-dd来进行的,即查询某一天的所有会议信息,这样如果通过select * from Meeting where PublishTime=@PublishTime (参数@PublishTime为y ......

Sql Server 2005 Express数据库导入导出功能的实现

      记得以前用SqlServer 2000的时候在“右键数据库->所有任务->导入数据/导出数据”这个选项,但是最近在使用SqlServer 2005 express的时候发现居然没有“导入/导出”功能,这个让人相当郁闷。
      后来网上一查才知道是因为我用的是ex ......

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

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

f_stuname有索引的话,这个索引也是不执行的
在SQL优化中这个写法就是一个不好的SQL了。
那么如何来替换这个呢,这一个就用到了Oracle的instr函数了
我们可以这样 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号