1.把某个字段重新生成序列(从1到n):
DECLARE @i int
Set @i = 0
Update Table1 Set @i = @i + 1,Field1 = @i
2.按成绩排名次
Update 成绩表
Set a.名次 = (
Select Count(*) + 1
From 成绩表 b
Where a.总成绩 < b.总成绩
)
From 成绩表 a
3.查询外部数据库
Select a.*
From OpenRowSet('Microsoft.Jet.OLEDB.4.0','c:\test.mdb';'admin';'',Table1) a
4.查询Excel文件
Select *
From OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 8.0')...Sheet1$
5.在查询中指定排序规则
Select *
From Table1 Order By Field1 COLLATE Chinese_PRC_BIN
为什么要指定排序规则呢?参见:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1633985
例,检查数据库中的Pub_Users表中是否存在指定的用户:
Select Count(*)
From Pub_Users Where [UserName]='admin' And [PassWord]='aaa' COLLATE Chinese_PRC_BIN
默认比较是不区分大小写的,如果不加COLLATE Chinese_PRC_BIN,那么密码aaa与AAA是等效的,这当然与实际不符.注意的是,每个条件都要指定排序规则,上例中用户名就不区分大小写.
6.Order By的一个小技巧
Order By可以指定列序而不用指定列名,在下面的例子里说明它的用处(注意,第三列未指定别名)
Select a.ID,a.Name,(Select Count(*) From TableB b Where a.ID=b.PID) From TableA a Order By 3
7.字符串之Sum
例如,有个表
ID NAME
------------------
1 T
2 H
3 A
4 N
5 K
要得到
THANK
declare @s varchar(100);
set @s='';
select @s=@s+[Name] from 表 order by id;
select @s;
再来一个排名的,没有排名字段查询排名
create table t1
(khid varchar(10), xsje money)
insert into t1 values ('001',100)
insert into t1 values ('002',105)
insert into t1 values ('003',220)
insert into t1 values ('004',89)
insert into t1 values ('001',150)
insert into t1 values ('002',50)
insert into t1 values ('003',38)
select (
select count(*) + 1 from (
select khid,sum(xsje) as xsje from t1 group by khid
) b where a.xsje < b.xsje
) mc,* from (
select khid,sum(xsje) as xsje from t1 group by khid
) a order by mc
优点:允许并列排名,纯查询
缺点:要做两次sum扫描源表
修改一下以适应于ACCESS
select (select count(*) + 1 from (select khid,sum(xsje) as xsje_sum from t1 group by khid) as b where a.xsje_sum < b.xsje_sum) as mc,*
from (select khid,sum(xsje) as xsje_sum from t1 group by khid) as a order by xsje_sum desc
8:用扩展存储过程判断文件是否存在
DECLARE @result int
EXEC @result = xp_cmdshell 'dir c:\boot.ini'
IF (@result = 0)
select '存在'
ELSE
select '不存在'
分享到:
相关推荐
SQLSERVER技巧集锦 提供各种常用的SQLSERVER小技巧
SQL Server精华技巧集 SQL Server精华技巧集
2009年度十大SQL Server技巧文章 在向2009年告别之际,我们来回顾一下过去的一年中最受欢迎的SQL Server技巧,包括了OPENROWSET、FILESTREAM等函数的用法、密码工具介绍以及DBA日常工作建议等内容。 通过对这些精华...
网上收集的和SqlServer有关的技术方面的知识。
Microsoft SQL Server 2008 Native Client (SQL Server Native Client) 是单一动态链接库 (DLL),其中包含 SQL OLE DB 提供者和 SQL ODBC 驱动程序。此链接库针对使用机器码 API (ODBC、OLE DB 和 ADO) 的应用程序...
SQLServer技巧集.rar
[Microsoft Press] Microsoft SQL Server 2012 技术内幕 (英文版) [Microsoft Press] Microsoft SQL Server 2012 Internals (E-Book) ☆ 图书概要:☆ Dive deep inside the architecture of SQL Server 2012 ...
在下班闲暇时间整理了微软公司的SQL Server 2017及2019各个版本之间的区别和SQL Server 数据库在不同时期发布的不同版本的区别,以便于使用SQL Server数据库的朋友们可以做个参考和对比,PDF内容均来自日常工作中...
SQLServer+ 免安装版 SQLServer+是在原有SQLServer2000的基础上改善了数据库安装的繁锁性,让软件企业在发布基于SQLServer2000数据库软件的时候,只要把软件打包进入安装包而不需要再单独安装数据库,也不需要另外...
sql实用技巧,主要介绍sql server的一些操作技巧
本文介绍了整理SQL Server输入数据的方法。
压缩包内附带链接服务器创建脚本方式,此SQL Server Native Client 10.0无病毒,有64位和32位可供选择。SQL Server Native Client 11.0 不支持连接到 SQL Server 2000 或更早的版本。 通过安装SQL Server Native ...
sqlserver驱动jar java sqlserver驱动jar,java sqlserver驱动jar,java sqlserver驱动jar
SQL Server绿色版是SQL Server 2000绿色精简版,SQL Server绿色版只保留 GSQL.EXE 版权,其他附带文件版权归美国微软公司所有,本软件以技术研究为宗旨,请在下载本软件后24小时内删除附带的 SQL Server 文件或替换...
SqlServer连接工具SqlServer连接工具SqlServer连接工具
SQL Server 2014基础入门视频教程 (40集,含课件) 1.SQL Server 2014简介.mp4 2.SQL Server 2014硬件和软件要求.mp4 3.SQL Server 2014数据库安装.mp4 4.SQL Server 2014数据库创建.mp4 5.SQL Server 2014...
sqlserver自动生成sql语句工具sqlserver转oracle
SQL SERVER实用经验技巧集,SQL SERVER实用经验技巧集,SQL SERVER实用经验技巧集,SQL SERVER实用经验技巧集,SQL SERVER实用经验技巧集
Microsoft SQL Server Management Studio Express(SSMSE)是一种免费、易于使用的图形管理工具,用于管理SQL Server 2005 Express Edition和SQL Server 2005 ExpressEdition with Advanced Services。注意:SSMSE ...