zoukankan      html  css  js  c++  java
  • 自己常用SQL语句收集

    多对多判断
    select a.* from  Temp2 a (nolock) where not exists(select * from Temp1  where 年月=a.年月  and 水表代码=a.水表代码 and 水价分类=a.水价分类) order by 小计
    SELECT * FROM TB WHERE CHECKSUM(*) NOT IN (SELECT CHECKSUM(*)FROM TA)
    
    判断数据是否是小数
    select * from dnsfk
    where cast(substring(cast(水量 as varchar),charindex('.',cast(水量 as 
    varchar))+1,len(cast(水量 as varchar))) as int) <> 0
    
    异地备份
    backup database 数据库 to disk='\你的计算机名共享目录名备份文件名'
    
    查看数据库中字段是否有重复
    select 代码 from 表名 group by 代码 having count(代码)>1
    
    判断表在不在,在就删除
    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[temp]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
    drop table [dbo].[temp]
    
    1、二个表的更新
    select count(*) as cnt1 from 表1 where 户号 in (select 户号 from 表2)
    delete from 表1 where 户号 in (select 户号 from 表2)
    insert into 表1 select * from 表2
    select count(*) as cnt2 from 表2
    
    更新了 cnt1 条记录
    添加了 cnt2-cnt1 条数据
    
    2、日志的删除
    backup log water with no_log
    DBCC SHRINKDATABASE (water,TRUNCATEONLY )
    
    
    3、多对多置换
    update c200303 set c200303.编号=jbk.编号 from jbk where (c200303.委托号<>0) and (jbk.代码=c200303.代码)
    
    4、导文本
    EXEC master..xp_cmdshell 'bcp "SELECT 户号,户名,convert(char(10),抄表日期,120),水量  FROM water.dbo.c200303" queryout c:DT.txt -c -S"sony" -U"sa" -P"sa"'
    bcp 可以实现数据的导入导出。
    EXEC master..xp_cmdshell 'bcp test.dbo.P_Aspect in c:	emp1.txt -c -q -S"servername" -U"sa" -P""'
    //导入 
    EXEC master..xp_cmdshell 'bcp test.dbo.P_Aspect out c:	emp1.txt -c -q -S"servername" -U"sa" -P""'
    //导出
    
    6、汇总语句   select max(帐本号) as 帐本号,sum(case when 用水类别='生活' then 水量 end) as 生活,sum(case when 用水类别='生产' then 水量 end) as 生产,sum(case when 用水类别='商业' then 水量 end) as 商业,sum(case when 用水类别='生产' then 水量 end) as 生产,sum(case when 用水类别='生活加压' then 水量 end) as 生活加压,
    sum(case when 用水类别='环卫生活' then 水量 end) as 环卫生活,sum(case when 用水类别='环卫生产' then 水量 end) as 环卫生产,sum(case when 用水类别='华电' then 水量 end) as 华电,sum(case when 用水类别='自用水' then 水量 end) as 自用水,sum(case when 用水类别='商业加压' then 水量 end) as 商业加压,sum(case when 用水类别<>' ' then 水量 end) as 总计 from c200306 group by 帐本号 order by 帐本号
    
    复制语句
    EXEC master..xp_cmdshell 'copy c:dt.txt d:dt.txt'
    
    可将空格去掉生成文本
    EXEC master..xp_cmdshell 'bcp "SELECT cast(户号 as char(9))+cast(户名 as char(40))+convert(char(10),抄表日期,112)+cast(水量 as char(10))  FROM water.dbo.c200303" queryout c:DT.txt -c -S"sony" -U"sa" -P"sa"'
    
    select isnull(托收标志,'') as 托收标志,dwdazl.单位编码,dwsbzl.编号,dwdazl.单位名称,dwdazl.联系人,dwdazl.联系电话,dwdazl.单位地址,dwsbzl.代码,dwsbzl.户号,dwsbzl.口径,dwsbzl.用水类别,dwsbzl.水表位置 from dwdazl,dwsbzl where dwdazl.单位编码=dwsbzl.单位编码 and dwsbzl.单位编码 in (select 单位编码 from dwsbzl where 托收标志='Y' and 户号 like '%A%') order by dwdazl.单位编码,托收标志 desc
    
    7、测出每个字符位置
    declare @a varchar(8000),@i int
    set @a='wof|中华人民共和国|good|order|一条大河|'
    set @i=charindex('|',@a)
    while @i>0
    begin
    print @i
    select @a=substring(@a,@i+1,8000)
    ,@i=charindex('|',@a)
    end
  • 相关阅读:
    Enterprise Library Step By Step系列(一):配置应用程序块——入门篇
    Enterprise Library Step By Step系列(八):日志和监测应用程序块——进阶篇
    在ASP.NET页面中冻结DataGrid的列或头部
    数据库设计技巧系列(五)——各种小技巧
    用任务计划实现数据库的异地备份
    如何更好的与人沟通?[图]
    在Asp.net中如何用SQLDMO来获取SQL Server中的对象信息
    SQL Server 2012 Express LocalDB
    Clay: 创建和使用深层次对象图
    VS 2012 的 单元测试 和 测试资源管理器
  • 原文地址:https://www.cnblogs.com/msony924840/p/4415130.html
Copyright © 2011-2022 走看看