SQL切割 和复制以及一些好的网址
来源:互联网 发布:ubuntu您不是所有者 编辑:程序博客网 时间:2024/06/13 05:42
比较两表是否相同:if(select * from A)=(select * from B)
只复制一个表结构,而不复制数据。
select * into t1 from t2
三、 分隔字符串
如果有一个用逗号分割开的字符串,比如说"a,b,c,d,1,2,3,4",如何用t-sql获取这个字符串有几个元素,获取第几个元素的值是多少呢?因为t-sql里没有split函数,也没有数组的概念,所以只能自己写几个函数了。
1、 获取元素个数的函数
create function getstrarrlength (@str varchar(8000))
returns int
as
begin
declare @int_return int
declare @start int
declare @next int
declare @location int
select @str =','+ @str +','
select @str=replace(@str,',,',',')
select @start =1
select @next =1
select @location = charindex(',',@str,@start)
while (@location <>0)
begin
select @start = @location +1
select @location = charindex(',',@str,@start)
select @next =@next +1
end
select @int_return = @next-2
return @int_return
end
2、 获取指定索引的值的函数
create function getstrofindex (@str varchar(8000),@index int =0)
returns varchar(8000)
as
begin
declare @str_return varchar(8000)
declare @start int
declare @next int
declare @location int
select @start =1
select @next =1 --如果习惯从0开始则select @next =0
select @location = charindex(',',@str,@start)
while (@location <>0 and @index > @next )
begin
select @start = @location +1
select @location = charindex(',',@str,@start)
select @next =@next +1
end
if @location =0 select @location =len(@str)+1 --如果是因为没有逗号退出,则认为逗号在字符串后
select @str_return = substring(@str,@start,@location -@start) --@start肯定是逗号之后的位置或者就是初始值1
if (@index <> @next ) select @str_return = '' --如果二者不相等,则是因为逗号太少,或者@index小于@next的初始值1。
return @str_return
end
3、 测试
SELECT [dbo].[getstrarrlength]('1,2,3,4,a,b,c,d')
SELECT [dbo].[getstrofindex]('1,2,3,4,a,b,c,d',5)
一些含数的运用。可随时查找
update test1 set shengri='19'+replace(shengri,'.','-')
select substring(shengri,3,3),
把一个时间类型字段转换成"1970-07-06"
update test1 set shengri=year(shengri)+'-'+case when len(month(shengri))=1 then '0'+convert(varchar(20),month(shengri)) else convert(varchar(20),month(shengri))
end+'-'+case when len(day(shengri))=1 then '0'+convert(varchar(20),day(shengri)) else
convert(varchar(20),day(shengri)) end
http://www.cnblogs.com/ghd258/archive/2006/03/20/354147.html
http://www.cnblogs.com/ghd258/archive/2006/11/17/563218.html
- SQL切割 和复制以及一些好的网址
- 一些好的学习论坛和网址
- 一些好用的网址和博客
- 一些好的网址
- 一些好的学习网址
- 一些好的学习网址
- 一些好的学习网址
- 一些好的学习网址
- 一些好的资料网址
- 一些好的学习网址
- 一些好的文章,网址
- 一些比较好的J2EE学习网址
- 学习Jquery 一些好的网址
- 搜一些文献的好网址
- 学习UI设计的一些好网址
- 一些比较好的知识点学习网址
- 收藏一些比较好的网址
- 收集一些好的博客网址
- java assert
- 一个鼠标实现跟踪球的简单类
- fatal error CVT1100的解决方法
- java 连接 sql server 2000 注意点
- JAVA读取Oracle数据库BLOB字段
- SQL切割 和复制以及一些好的网址
- XAML入门-Silverlight 1.1 In Action
- 问题:当前标识(用户名/aspnet)没有对C:/WINNT/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files的写访问权限,的解决!
- "搜索引擎有 多聪明"
- TextBox信纸样式显示
- 如何用dbus-glib传递复杂的数据结构?hacker的误解。
- "怎样给博客帖子加内部链接"
- 转:惠普V3000系列笔记本电流声的解决方法
- 39岁 感言