自己常用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:\temp1.txt -c -q -S"servername" -U"sa" -P""‘
//导入
EXEC master..xp_cmdshell ‘bcp test.dbo.P_Aspect out c:\temp1.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
时间: 2024-10-14 04:37:09

自己常用SQL语句收集的相关文章

Ubuntu 下安装sqlite3 及常用SQL 语句

安装sqlite3命令如下: 1 sudo apt-get install sqlite3 创建或者打开已有的数据库文件: 1 sqlite3 test.db 进入数据库后,可以进行以下常用SQL语句操作: CREATE TABLE ONT_USER_TABLE( ONT_USER_NAME text PRIMARY KEY, ONT_USER_PWD text NOT NULL, ONT_CREATE_TIME text ); INSERT INTO ONT_USER_TABLE values

常用sql语句及案例

目录 1)基本 2)数学函数 3)rownum 4)分页 5)时间处理 6)字符函数 7)to_number 8)聚合函数 9)学生选课 10)图书馆借阅 基本 --新建表: create table table1( id varchar(300) primary key, name varchar(200) not null); --插入数据 insert into table1 (id,name) values ('aa','bb'); --更新数据 update table1 set id

Oracle数据库常用Sql语句大全

一,数据控制语句 (DML) 部分 1.INSERT  (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, 字段名2, --) VALUES ( 值1, 值2, --); INSERT INTO 表名(字段名1, 字段名2, --)  SELECT (字段名1, 字段名2, --) FROM 另外的表名; 字符串类型的字段值必须用单引号括起来, 例如: 'GOOD DAY' 如果字段值里包含单引号' 需要进行字符串转换, 我们把它替换成两个单引号''. 字符串类型的字段值超过

oracle常用SQL语句(汇总版)

Oracle数据库常用sql语句 ORACLE 常用的SQL语法和数据对象 一.数据控制语句 (DML) 部分 1.INSERT (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, 字段名2, ……) VALUES ( 值1, 值2, ……); INSERT INTO 表名(字段名1, 字段名2, ……) SELECT (字段名1, 字段名2, ……) FROM 另外的表名; 字符串类型的字段值必须用单引号括起来, 例如: ’GOOD DAY’ 如果字段值里包含单引号’ 需要

MySQL常用SQL语句(Python实现学生、课程、选课表增删改查)

以基本的学生选课为例,建立选课数据库,学生.班级.选课信息三张表,并分别对表进行插删改操作: import MySQLdb try: conn = MySQLdb.connect(host = 'localhost', user = 'root', passwd = 'root', db = 'xuanke', port = 3306) cur = conn.cursor() cur.execute("CREATE DATABASE xuanke") cur.execute("

mysql基础(二) 常用SQL语句

SQL语句类型:     DDL:数据库定义语言 create,drop,alter     DML:数据操作语言 insert,delete,update,select     DCL:数据控制语言 grant,revoke 常用SQL语句:     CREATE DATABASE #创建数据库 CREATE TABLE         #创建表 CREATE TABLE table_name(字段名,字段数据类型,约束条件) #创建表 CREATE INDEX            #创建索

学生表 课程表 成绩表 教师表常用SQL语句

学生表 课程表 成绩表 教师表 50个常用sql语句 建表 Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 ---- If database exists the same name datatable deletes it. IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHE

经典MSSQL语句大全和常用SQL语句命令的作用

下列语句部分是Mssql语句,不可以在access中使用. SQL分类: DDL类型包括数据库.表的创建,修改,删除,声明—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML类型包括数据表中记录的查询,删除,修改,插入—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL类型包括数据库用户赋权,废除用户访问权限, 提交当前事务,中止当前事务—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1.说

Sql 语句收集——行转列

SQL行转列汇总 PIVOT用于将列值旋转为列名(即行转列),在SQL Server 2000可以用聚合函数配合CASE语句实现 PIVOT的一般语法是:PIVOT(聚合函数(列) FOR 列 in (…) )AS P 完整语法: table_source PIVOT( 聚合函数(value_column) FOR pivot_column IN(<column_list>) ) UNPIVOT用于将列明转为列值(即列转行),在SQL Server 2000可以用UNION来实现 完整语法: