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

sql 分割字符串 输出

示例:
传入多个Email地址,通过每个Email地址间的','分隔符,将各Email地址分开。
SELECT * from dbo.uf_Split('aa@aa.com,bb@bb.com,cc@cc.com,dd@dd.com',',');
查询结果:
subid      autoid
aa@aa.com 1
bb@bb.com 2
cc@cc.com 3
dd@dd.com 4
下面是[uf_Split]方法的具体实现:
CREATE   FUNCTION [dbo].[uf_Split](@str VARCHAR(max),@splitchar CHAR(1))      
RETURNS  @t TABLE(subid VARCHAR(1000),autoid INT) AS       
/*      
subject:split函数(目前只能对单个字符进行分割,不能以词组方式分割)      
author:kq zhou     
create date:2009-4-1      
*/      
BEGIN      
      
DECLARE @substr VARCHAR(max)      
SET @substr=@str      
DECLARE @i INT,@j INT      
SET @j=LEN(REPLACE(@str,@splitchar,REPLICATE(@splitchar,2)))-LEN(@str)--获取分割符个数      
IF @j=0      
BEGIN      
  INSERT INTO @t VALUES (@substr,1) --没有分割符则插入整个字串       
END      
ELSE      
BEGIN      
 SET @i=0      
 DECLARE @m int      
 WHILE @i<=@j      
 BEGIN      
   IF(@i<@j)      
   BEGIN      
    SET @m=CHARINDEX(@splitchar,@substr)-1 --获取分割符的前一位置      
    INSERT INTO @t VALUES(LEFT(@substr,@m),@i+1)       
    SET @substr=RIGHT(@substr,LEN(@substr)-(@m+1)) --去除已获取的分割串,得到还需要继续分割的字符串      
   END      
  ELSE      
   BEGIN      
     INSERT INTO @t VALUES(@substr,@i+1)--对最后一个被分割


相关文档:

SQL sever 循环语句

for i=0,i++,i<@num
select dateadd(DAY,GETDATE(),I)
请问上面的语句怎么改写才正确???
Transact-SQL 参考
WHILE
设置重复执行 SQL 语句或语句块的条件。只要指定的条件为真,就重复执行语句。可以使用 BREAK 和 CONTINUE 关键字在循环内部控制 WHILE 循环中语句的执行。
语法
WHILE Boolean_expression
{ s ......

sql server

exec sp_spaceused [[@objname=]'objname'][,[@updateusage=]'updateusage']
检查数据库空间大小
 dbcc   showfilestats
统计数据文件的使用情况
 dbcc   showcontig
检查数据库控件分配情况
 dbcc   sqlperf(logspace)
查看日志文件的使用情况 ......

经典SQL语句大全

一、基础
1、说明:创建数据库
CREATE DATABASE database-name
2、说明:删除数据库
drop database dbname
3、说明:备份sql server
--- 创建 备份数据的 device
USE master
EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'
--- 开始 备份
BACKUP DATABASE pubs TO testBack
4、说 ......

经典SQL语句大全

一、基础
1、说明:创建数据库
CREATE DATABASE database-name
2、说明:删除数据库
drop database dbname
3、说明:备份sql server
--- 创建 备份数据的 device
USE master
EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'
--- 开始 备份
BACKUP DATABASE pubs TO testBack
4、说 ......

SQL 查詢不區分大小寫

SQL 查詢不區分大小寫
2007年04月19日 星期四 15:27
正常用这个方法就给達到效果了。select * from
pl_account     where UPPER(fname) like 'PE%'
附加:
在sql2000和7.0的查询语句中,区分大写的查询方法
--sql2000,就用下面的方法.
--就是在字段名后加 collate Chi ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号