知识大全 精典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

微软.Net程序设计FAQ  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 如何在net的应用程序运

知识大全 JGraph 经典常见问题解答 (FAQ)

JGraph经典常见问题解答(FAQ)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  怎样打开/

知识大全 女朋友不开心了,谁有精典的小笑话呀,不要长啊,一两句话就行,谢了

女朋友不开心了,谁有精典的小笑话呀,不要长啊,一两句话就行,谢了!一只黑猫把一只白猫从河里救起来了,你知道后来那白猫对黑猫说什么吗?——它说:“喵——”两颗番茄去逛街,第一颗番茄突然走的很快,第二颗番

知识大全 CF开发Smartphone应用程序 FAQ

CF开发Smartphone应用程序FAQ  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 2003 冬季 Java FAQ

2003冬季JavaFAQ  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!    JSP内置对象  

知识大全 Oracle FAQ 2003.02精华

OracleFAQ2003.02精华  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Q:如何使用

知识大全 Oracle FAQ 之备份与恢复篇

OracleFAQ之备份与恢复篇  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  [Q]如何开启/

知识大全 Oracle FAQ 之网络与安全篇

OracleFAQ之网络与安全篇  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ORACLE网络

知识大全 FAQ for the Oracle Intelligent Agent 9.0.1

FAQfortheOracleIntelligentAgent9.0.1  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们

知识大全 怎么将以前淘宝账号收藏的衣服,在收藏到申请淘宝账号里

怎么将以前淘宝账号收藏的衣服,在收藏到申请淘宝账号里?你可以吧收藏的宝贝链接拷到文档里,再注销账号换个淘宝账号登陆,再打开链接收藏就行了。或者你直接记住宝贝店铺然后用下一个账号搜索收藏就可以了换了淘宝