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)--对最后一个被分割
相关文档:
微软的数据库认证从包括3个方面的:
MCTS: Microsoft Certified Technology Specialist
MCITP: Microsoft Certified IT Professional
MCM: Microfot Certified Master.
微软建议参加最新版本的数据库认证考试,当前版本是指Microsoft SQL Server 2008。
SQL Server2008 MCTS包括3个认证:
1> SQL Server 200 ......
使用过SQL Server的人应该都清楚,SQL Server常用的有两种认证方式,一种是本地系统账户认证(Windows Authentication ),一种是使用用户名和密码(SQL Server Authentication ),第二种认证方式必须启用SQL Server的混合模式。
1.Windows Authentication连接部分代码段:
<?php
$serverName = "(local)";
$co ......
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条记录开始,往后 ......
一、基础
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、说 ......
ALTER function dbo.UDF_SplitSubString
(
@Expression varchar(8000)
,@Delimiter varchar(100)
,@ int
)
returns varchar(8000)
as
begin
--declare @Expression varchar(8000)
--set @Expre ......