SQL Server2005四个排序函数简介
排名函数是SQL Server2005新加的功能。在SQL Server2005中有如下四个排名函数:
1. row_number 自动生成行号,序号由order by 字段决定
2. rank over Filed, 由rank over的字段决定,名次不连续,如有3个并列第一名,则后续名次直接从4开始
3. dense_rank,和rank相似,只是名次连续,如有3个并列第一名,则后续名次从2开始
4. ntile 提供均匀分组的排序函数,函数参数为分组的个数,如有10条记录返回,ntile参数指定为4,则各组记录数如下
1(3),2(3),3(2),4(2)
select
ntile(4) over(order by object_ID) as bucket,name from ( select top 10 * from sys.objects) x
bucket Name
-------------------- --------------------------------------------------------------------------------------------------------------------------------
1 sysrowsetcolumns
1 sysrowsets
1 sysallocunits
2 sysfiles1
2 syshobtcolumns
2 syshobts
3 sysftinds
3 sysserefs
4 sysowners
4 sysdbreg
相关文档:
sql语句,取出表A中的第31条到40条记录(表A以自动增长的ID做主键,注意ID可能是不连续的)
-->select top 10 * from a where id not in (select top 30 id from a order by id) order by id
查询前十条记录,但条件是:ID不在前三十条的ID里面
-->select top 10 * from (select top 40 ......
作者: sealyu 日期:2008-04-17
在SQL Server 中,如果给表的一个字段设置了默认值,就会在系统表sysobjects中生成一个默认约束。
如果想删除这个设置了默认值的字段(假设此字段名column1),
执行“ALTER TABLE table1 DROP COLUMN column1”时就会报错:
The object 'DF__xxxxxxxxxxx' ......
将Excel文件数据库导入SQL Server的三种方案
//方案一: 通过OleDB方式获取Excel文件的数据,然后通过DataSet中转到SQL Server
openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "Excel files(*.xls)|*.xls";
if(openFileDialog.ShowDialog()==DialogResult.OK)
{
FileInfo ......
COLLATE 是一个子句,可应用于数据库定义或列定义以定义排序规则,或应用于字符串表达式以应用排序规则转换。
语法
COLLATE { <collation_name> | database_default }
<collation_name> :: =
{ Windows_collation_name } | { SQL_collation_name }
参数
collation_name
  ......
调用 MS SQL 标量值函数,应该在函数前面加上 "dbo.",否则会报 “不是可以识别的 内置函数名称”错误。例如
DECLARE @WhichDB TINYINT;
SELECT @WhichDB = user_GetWhichDB(1);--看看是哪个数据库的
=================================================
-- ......