sql语句例子二

创建示例数据
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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值