创建示例数据
select top 10 * into 创建表 from 原始表 where Creator='and content like '%'+char(13)+'%' or content like '%'+char(10)+'%' and CreateDate between '2006-02-15 08:02:42.000 'and '2006-02-10 08:30:00.000'
得到当前时间 convert(varchar(19),getdate(),120)
得到提前一天的时间 select convert(varchar(10),dateadd(d,1,getDate()),120)
连接字段
SELECT RTRIM(StarYear) + '-' + RTRIM(StarMonth) + '-' + RTRIM(StarDay)
AS StarDate
FROM STAR
删除重复的数据
利用索引把数据导入到一个没有重复的临时表insert into 中间表 select * from 原表,(这个过程通过索引设置,清除重复的数据或可以通过加distanct)
然后导出 delete from 原表 insert into 原表 select * from 中间表 delete from 中间表
BEGIN
declare @max int,@id nvarchar(50)
declare cur_rows cursor local for select 标识字段,count(*) from 表名 group by 标识字段 having count(*)>1
open cur_rows
fetch cur_rows into @id,@max
while @@fetch_status=0
begin
select @max = @max-1
set rowcount @max
delete from 表名 where 标识字段
=@id
fetch cur_rows into @id,@max
end
close cur_rows
set rowcount 0
END
截取字符串
select substring('2008-06-24 00:00:00.000',0,12)
转化数据类型
select convert(varchar,getdate(),120)
给表添加新字段
alter table Cha_TradeIndex add Avg5Price decimal(28,2)
建立索引
--原则 大表建索引,先插入数据后建立索引, 为保证数据唯一性,先建立索引
create index idx#表名$字段 on 表名 (字段)
在查询的时候,用到case语句
SELECT
a.f022n_0160 CurYearProfit,
case when a.f002n_0160 =0 then 0
when a.f002n_0160 >0 then (f004n_0160-f006n_0160)/f002n_0160 * 100
end sadio,--字段显示名
b.F041v_0002 Industry
from tb_trade_0160 a,tb_company_0002 b
where a.ob_secName_0160 = b.f001v_0002