易截截图软件、单文件、免安装、纯绿色、仅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)--对最后一个被分割


相关文档:

PHP连接SQL Server

使用过SQL Server的人应该都清楚,SQL Server常用的有两种认证方式,一种是本地系统账户认证(Windows Authentication ),一种是使用用户名和密码(SQL Server Authentication ),第二种认证方式必须启用SQL Server的混合模式。
  1.Windows Authentication连接部分代码段:
<?php
$serverName = "(local)";
$co ......

SQLite不支持的SQL语法总结


1 TOP
这是一个大家经常问到的问题,例如在SQLSERVER中可以使用如下语句来取得记录集中的前十条记录:
SELECT TOP 10 * from [index] ORDER BY indexid DESC;
但是这条SQL语句在SQLite中是无法执行的,应该改为:
SELECT * from [index] ORDER BY indexid DESC limit 0,10;
其中limit 0,10表示从第0条记录开始,往后 ......

SQL游标原理和使用方法

SQL游标原理和使用方法
数据库开发过程中,当你检索的数据只是一条记录时,你所编写的事务语句代码往往使用SELECT INSERT 语句。但是我们常常会遇到这样情况,即从某一结果集中逐一地读取一条记录。那么如何解决这种问题呢?游标为我们提供了一种极为优秀的解决方案。
1.1 游标和游标的优点
    在数据 ......

sql server 与 oracle语法对比.

ORACLE与SQL SERVER语法区别
 
一、数据类型
ORACLE与SQL SERVER在数据类型的对比如下:
 
SQL SERVER
ORACLE
数字类型
DECIMAL[(P[, S])]
NUMBER[(P[, S])]
NUMERIC[(P[, S])]
NUMBER[(P[, S])]
FLOAT[(N)]
NUMBER[(N)]
INT
NUMBER
SMALLINT
NUMBER
TINYINT
NUMBER
MONEY
NUMBER[19,4]
SM ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号