在SQL Server中如何输出行号
原文地址:http://www.dingos.cn/index.php?topic=1688.0
Oracle有rownum用于访问表中行号。那么在SQL Server中是否有等效的呢?或者在SQL Server中如何输出行号?
-----------------------------------
在SQL Server中没有直接等效于Oracle的rownum
-----------------------------------
严格说来,在关系数据库中,表中的行是没有序的并且行号没有正真的意义。如果需要这个功能,可以有如下三种考虑:
在表中添加一个自动增长列。
使用下列查询为每一行产生一个行号。下列查询为pubs数据库每一行产生一个行号。为这个查询工作,这个表必须哟唯一约束。
-----------------------------------------------
SELECT (SELECT COUNT(i.au_id)
from pubs..authors i
WHERE i.au_id >= o.au_id ) AS RowID,
au_fname + ' ' + au_lname AS 'Author name'
from pubs..authors o
ORDER BY RowID
-----------------------------------------
使用临时表实现,将整个结果集存储在一个临时表中,跟有一个由IDENTITY()函数参数的行号。创建临时表代价是比较昂贵的,尤其是对比较大的表进行操作。
相关文档:
在SQL SERVER 2005/2008中拥有一个对象
从SQL SERVER2000升级到2005/2008后,一个我们必须重新认识的情况是对象不再有所有者(owner)。架构包含对象,架构有所有者。如果你查询表sys.objects,你将会看到这看起来是正确的,只是表中还有一个字段principal_id,但是一般情况下它总是NULL值。不久前一天,我突然对principal ......
protected void Button1_Click(object sender, EventArgs e)
{
string strsql = "select * from TreeViewTemp where parentID=0";
DataTable dt = db.GetDataTable(strsql);
StringWriter sw = new StringWriter();
//StreamWriter sw = new Strea ......
--
SQL Server Split函数
--
Author:zc_0101
--
说明:
--
支持分割符多字节
--
使用方法
--
Select * from DBO.F_SQLSERVER_SPLIT('1203401230105045','0')
--
select * from DBO.F_SQLSERVER_SPLIT('abc1234a12348991234',' ......
SQL聚合函
标签:sql聚合函数 杂谈
聚合函数:
1.AVG 返回组中的平均值,空值将被忽略。
例如:use northwind // 操作northwind数据库
Go
Select avg (unitprice) //从表中选择求unitprice的平均值
& ......
一、字符转换函数
1、ASCII()
返回字符表达式最左端字符的ASCII 码值。在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错。
2、CHAR()
将ASCII 码转换为字符。如果没有输入0 ~ 255 之间的ASCII 码值,CHAR() 返回NULL 。
3、LOWE ......