SqlServer中查询10到20条之间的数据
查询northwind数据库中orders中的10到20条记录
select top 10 * from orders
where orderid > ( select max(orderid) from (select top 10 orderid from orders order by orderid) as t )
orders表中已有自增长的标识列orderid,
先查出表中前十条记录中的最大orderid,
10条以后的orderid肯定大于前十条的最大id,所以再where判断即可。
另外,如果要查询的表没有标识列,也可以使用下面这种方法:
select top 20 identity(int ,1,1) as id * into #temp from table
select * from #temp where id>10
相关文档:
sqlserver 的ntext类型在数据库中是看不到值的
起初我还以为数据没有插入,后来才知道ntext类型在数据库中本来就看不到的(数据较短的可以看到);
那我要想看到ntext数据怎么办?
在查询分析器中可以看到(查询分析器中也只看到了前几十个字符, 不是全部的) ......
SQLServer 批量插入数据的两种方法
2009-07-27 19:31
在SQL Server 中插入一条数据使用Insert语句,但是如果想要批量插入一堆数据的话,循环使用Insert不仅效率低,而且会导致SQL一系统性能问题。下面介绍SQL Server支持的两种批量数据插入方法:Bulk和表值参数(Table-Valued Parameters)。
&nb ......
Union默认是不能有order by子句
如果需要排序,则只能如下实现
select * from (select top 100 PERCENT * from 表名 order by 字段名) a
union all
select * from (select top 100 PERCENT * from 表名 ......
NVL(Expr1,Expr2)如果Expr1为NULL,返回Expr2的值,否则返回Expr1的值
NVL2(Expr1,Expr2,Expr3)如果Expr1为NULL,返回Expr2的值,否则返回Expr3的值
NULLIF(Expr1,Expr2)如果Expr1和Expr2的值相等,返回NULL,否则返回Expr1的值 ......