知识大全 精典SQL FAQ收藏
Posted 知
篇首语:书籍是人类进步的阶梯。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 精典SQL FAQ收藏相关的知识,希望对你有一定的参考价值。
SQL高手篇:精典SQL FAQ收藏 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
行列转换 普通 假设有张学生成绩表(CJ)如下 Name Subject Result 张三 语文 张三 数学 张三 物理 李四 语文 李四 数学 李四 物理 想变成 姓名 语文 数学 物理 张三 李四 declare @sql varchar( ) set @sql = select Name select @sql = @sql + sum(case Subject when +Subject+ then Result end) [ +Subject+ ] from (select distinct Subject from CJ) as a select @sql = @sql+ from test group by name exec(@sql) 行列转换 合并 有表A id pid 如何化成表B: id pid 创建一个合并的函数 create function fmerg(@id int) returns varchar( ) as begin declare @str varchar( ) set @str= select @str=@str+ +cast(pid as varchar) from 表A where id=@id set @str=right(@str len(@str) ) return(@str) End go 调用自定义函数得到结果 select distinct id dbo fmerg(id) from 表A 如何取得一个数据表的所有列名 方法如下 先从SYSTEMOBJECT系统表中取得数据表的SYSTEMID 然后再SYSCOLUMN表中取得该数据表的所有列名 SQL语句如下 declare @objid int @objname char( ) set @objname = tablename select @objid = id from sysobjects where id = object_id(@objname) select Column_name = name from syscolumns where id = @objid order by colid 是不是太简单了? 呵呵 不过经常用阿 通过SQL语句来更改用户的密码 修改别人的 需要sysadmin role EXEC sp_password NULL newpassword User 如果帐号为SA执行EXEC sp_password NULL newpassword sa 怎么判断出一个表的哪些字段不允许为空? select COLUMN_NAME from INFORMATION_SCHEMA COLUMNS where IS_NULLABLE= NO and TABLE_NAME=tablename 如何在数据库里找到含有相同字段的表? a 查已知列名的情况 SELECT b name as TableName a name as columnname From syscolumns a INNER JOIN sysobjects b ON a id=b id AND b type= U AND a name= 你的字段名字 b 未知列名查所有在不同表出现过的列名 Select o name As tablename s name As columnname From syscolumns s sysobjects o Where s id = o id And o type = U And Exists ( Select From syscolumns s Where s name = s name And s id <> s id ) 查询第xxx行数据 假设id是主键 select * from (select top xxx * from yourtable) aa where not exists(select from (select top xxx * from yourtable) bb where aa id=bb id) 如果使用游标也是可以的 fetch absolute [number] from [cursor_name] 行数为绝对行数 SQL Server日期计算 a 一个月的第一天 SELECT DATEADD(mm DATEDIFF(mm getdate()) ) b 本周的星期一 SELECT DATEADD(wk DATEDIFF(wk getdate()) ) c 一年的第一天 SELECT DATEADD(yy DATEDIFF(yy getdate()) ) d 季度的第一天 SELECT DATEADD(qq DATEDIFF(qq getdate()) ) e 上个月的最后一天 SELECT dateadd(ms DATEADD(mm DATEDIFF(mm getdate()) )) f 去年的最后一天 SELECT dateadd(ms DATEADD(yy DATEDIFF(yy getdate()) )) g 本月的最后一天 SELECT dateadd(ms DATEADD(mm DATEDIFF(m getdate())+ )) h 本月的第一个星期一 select DATEADD(wk DATEDIFF(wk dateadd(dd datepart(day getdate()) getdate())) ) i 本年的最后一天 SELECT dateadd(ms DATEADD(yy DATEDIFF(yy getdate())+ )) cha138/Article/program/SQLServer/201311/21989相关参考
微软.Net程序设计FAQ 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 如何在net的应用程序运
JGraph经典常见问题解答(FAQ) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 怎样打开/
知识大全 女朋友不开心了,谁有精典的小笑话呀,不要长啊,一两句话就行,谢了
女朋友不开心了,谁有精典的小笑话呀,不要长啊,一两句话就行,谢了!一只黑猫把一只白猫从河里救起来了,你知道后来那白猫对黑猫说什么吗?——它说:“喵——”两颗番茄去逛街,第一颗番茄突然走的很快,第二颗番
CF开发Smartphone应用程序FAQ 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 
2003冬季JavaFAQ 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! JSP内置对象
OracleFAQ2003.02精华 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Q:如何使用
OracleFAQ之备份与恢复篇 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! [Q]如何开启/
OracleFAQ之网络与安全篇 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! ORACLE网络
知识大全 FAQ for the Oracle Intelligent Agent 9.0.1
FAQfortheOracleIntelligentAgent9.0.1 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们
知识大全 怎么将以前淘宝账号收藏的衣服,在收藏到申请淘宝账号里
怎么将以前淘宝账号收藏的衣服,在收藏到申请淘宝账号里?你可以吧收藏的宝贝链接拷到文档里,再注销账号换个淘宝账号登陆,再打开链接收藏就行了。或者你直接记住宝贝店铺然后用下一个账号搜索收藏就可以了换了淘宝