网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > SQL语法 > 正文

SQL与ACCESS、EXCEL的导入导出

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

  set @str=right(@str,len(@str)-1)

  return(@str)

  End

  go

  --调用自定义函数得到结果

  select distinct id,dbo.fmerg(id) from 表A

  * 如何取得一个数据表的所有列名

  方法如下:先从SYSTEMOBJECT系统表中取得数据表的SYSTEMID,然后再SYSCOLUMN表中取得该数据表的所有列名。

  SQL语句如下:

  declare @objid int,@objname char(40)

  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

  或

  SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME ='users'

  * 通过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='你的字段名字'

  * 未知列名查所有在不同表出现过的列名

  Select o.name As tablename,s1.name As columnname

  From syscolumns s1, sysobjects o

  Where s1.id = o.id

  And o.type = 'U'

  And Exists (

  Select 1 From syscolumns s2

  Where s1.name = s2.name

  And s1.id <> s2.id

  )

  * 查询第xxx行数据

  假设id是主键:

  select * from (select top xxx * from yourtable) aa where not exists(select 1 from (select top xxx-1 * from yourtable) bb where aa.id=bb.id)

  如果使用游标也是可以的

  fetch absolute [number] from [cursor_name]

  行数为绝对行数

  * SQL Server日期计算

  a. 一个月的第一天

  SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)

  b. 本周的星期一

  SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)

  c. 一年的第一天

  SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)

  d. 季度的第一天

  SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)

  e. 上个月的最后一天

  SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))

  f. 去年的最后一天

  SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0))

  g. 本月的最后一天

  SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))

  h. 本月的第一个星期一

  select DATEADD(wk, DATEDIFF(wk,0,

  dateadd(dd,6-datepart(day,getdate()),getdate())

  ), 0)

  i. 本年的最后一天

  SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0))。

  * 获取表结构[把 'sysobjects' 替换 成 'tablename' 即可]

  SELECT CASE IsNull(I.name, '')

  When '' Then ''

  Else '*'

  End as IsPK,

  Object_Name(A.id) as t_name,

  A.name as c_name,

  IsNull(SubString(M.text, 1, 254), '') as pbc_init,

  T.name as F_DataType,

  CASE IsNull(TYPEPROPERTY(T.name, 'Scale'), '')

  WHEN '' Then Cast(A.prec as varchar)

  ELSE Cast(A.prec as v

  • 上一篇资讯: sql知识点总结
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师