实用sql语句

--读取库中的所有表名
select name from sysobjects where xtype='u'

--读取指定表的所有列名
select name from syscolumns where id=(select max(id) from sysobjects where xtype='u' and name='表名')
 
--依照officialDocument的表结构创建officialDocumentdraft表
select * into officialDocumentdraft from officialDocument where 1=2
 
--判断#T是否存在
if object_id('tempdb..#T') is not null
 
--插入存储过程返回的结果
insert   into   table   exec
 
计算最后一个空格的位置
@str 
 len(@str)-charindex(' ',reverse(@str))+1
 
 
--函数
len(‘’)   --字符串长度
datalength(‘’)     --字符串字节数
COL_LENGTH (@tableName, @columnName)    -- is null 可以查询是否存在列
CONVERT(data_type,expression[,style])   --类型转换  e.g. CONVERT(VARCHAR(10),agent_id)
ROW_NUMBER() OVER  (PARTITION  BY column1 ORDER BY column2)  --按column1分组,按column2排序
charindex(' ','this is a test',1)   --返回5    从位置1开始返回第一个找到的位置
substring('this is a test',1,4)   --返回this  从位置1开始取4个字符长度
len('')  --计算字符长度
reverse('') --翻转字符
left('',4)/right('',4)  --取4个长度的字符
replicate('a',5)  --复制字符,生成5个a
 
--数字补零
select right('0000'+convert(varchar,12),4)   --返回 0012
 
 
 
--语句
 
set identity_insert tableName1 ON   --为有identity列的表插入数据
 
--关联更新删除
update tbl1 set ... from tbl1 inner join tbl2 on ...
delete from tbl1 from tbl1 inner join tbl2 on ...
 

--查询存储过程中的内容
select
distinct name,text
from report.dbo.syscomments a,report.dbo.sysobjects b    
where a.id=b.id    and b.xtype='p' and a.text like '%时间%'

--查看存储过程内容
EXEC Sp_HelpText '存储过程名'


IDENT_CURRENT('tblorder')
SCOPE_IDENTITY() --返回操作同一作用域(存储过程、触发器、函数或批处理)内的....
@@IDENTITY  --返回最后一个数据表的最后一行的identity值(只对存在identity的情况)

posted @ 2011-08-25 17:24  fannet  阅读(159)  评论(0编辑  收藏  举报