sql
文章平均质量分 63
iteye_19539
这个作者很懒,什么都没留下…
展开
-
t-sql中case的用法
假设有一张表:CREATE TABLE a( id INT, name VARCHAR(20),)INSERT INTO a VALUES(1,'a')INSERT INTO a VALUES(2,'b')INSERT INTO a VALUES(3,'c')INSERT INTO a VALUES(4,'d')INSERT INTO a VALUES(5,...原创 2009-04-04 14:22:57 · 203 阅读 · 0 评论 -
获取一张表中列的数据
要获取一张表的列本身的数据,首先要了解sqlserver中的五张系统表sysobjects,syscolumns,systypes,sysindexes,sysindexkeyssysobjects,每个数据库都有一张这样的系统表,它记录了所有数据库对象,比如我们从里面可以获取主键,表对象名等sysindexes,每个数据库都有一张这样的系统表,它记录了所有表的索引,包括索引对象名...原创 2009-04-04 17:17:26 · 156 阅读 · 0 评论 -
sql server 2000/2005 的分页
先假设有dep这张表,有id和name两个字段先说2000的分页2000的分页其实就是个Sql语句的嵌套,比如要查从第4页的数据,每显示10条,就是这样:select top 10 id from dep where id not in(select top (4-1)*10 id from dep)2005的分页2005除了可以用上面的这个嵌套查询外,还新增了几个可以...2009-04-07 16:02:48 · 72 阅读 · 0 评论 -
sql server2005的公式表表达式(cte)
这是sql2005新增的语法,是为了更好的解决复杂查询中的性能问题,是来代替临时表和表变量的:WITHa AS( SELECT * FROM sysobjects)select * from a在上面,WITHa AS( SELECT * FROM sysobjects)表示将SELECT * FROM sysobjects查出的结果放到a中...2009-04-09 21:23:21 · 163 阅读 · 0 评论 -
sql2005中的execute与sp_executesql
execute相信大家都用的用熟了,简写为exec,除了用来执行存储过程,一般都用来执行动态Sqlsp_executesql,sql2005中引入的新的系统存储过程,也是用来处理动态sql的,如:exec sp_executesql @sql, N'@count int out,@id varchar(20)', @cou out,@id@sql为拼成的动态sqlN'@coun...原创 2009-04-10 09:41:59 · 478 阅读 · 0 评论 -
sql server2005 中的数组问题
sql server 2005中是没有数组的概念的,不过我们可以用用逗号分隔的字符串来代替 create PROC testArray@array VARCHAR(max)ASBEGIN IF(RIGHT(@array,1) <> ',') --保证最右边是逗号 SET @array = @array + ',' declare @start...2009-05-06 16:32:42 · 99 阅读 · 0 评论 -
sql server 中的行列转换
最近在研究行列转换。在2000版本中,一律用case 语句来完成,但是在2005中新增了pivot运算符,它让你能够将行级数据旋转成为列表数据,实现类似Excel数据透视表的功能,而不需要像先前版本的SQLServer一样使用CASE语句。 以下是从别人的博客上抄下来的,很有参考价值: /*标题:普通行列转换(version 2.0)作者:爱新觉罗.毓华(十八年风雨,守得冰...2009-05-18 12:27:52 · 97 阅读 · 0 评论 -
嵌入式数据库学习(sqlite,firebird)
最近来了兴趣,研究了一下嵌入式数据库,主要有两个代表:sqlite和firebird(embed版)。是IBExpert。这两个数据库都有.net数据提供程序,对于我们搞.net的人来说无疑是个好消息。那么如何在.net使用呢?sqlite非常方便,只要把其ado.net的dll加入进来便可直接访问了,当然,其连接字符串有sqlite无疑是最小的一个,单文件程序,只有400k,而它...2009-05-18 21:40:21 · 266 阅读 · 0 评论