正文

SQL语句精选(陆续更新)2005-11-18 09:24:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/chaoyun2004/7100.html

分享到:

1:用rand() 函数 可以产生0~1的随机float型数据。
2:select NULL+'21313132' 返回NULL,NULL和任何字符串连接都是空。
3:select top 1 .....order by newid() 可以随机选择一条记录。(该语句很有用)。
4:什么是动态的sql语句。给个示例:
  (注意动态sql中字符串命令必须为UNICODE码,并且在字符串和变量连接的时候有空格)
   declare @sqlstring nvarchar(100)
   declare @tableName nvarchar(20)
   set @tableName='kch'
   set @sqlstring='select * from ' + @tableName
   exec sp_executesql @sqlstring

   再给一个例子:
   Alter PROCEDURE dbo.Test
   @seltab varchar(500)
   AS
     begin
       declare @count  int
       declare @sql nvarchar(1000)
       set @sql = N'select @count = count(*) from '+@seltab
       exec sp_executesql @sql,N'@count int Output',@count Output--都加上Output
       if @count>0
          print 'exists'
       else
          print 'no'
     end  
   RETURN
  
   再给一个例子:
   declare @sqlstring nvarchar(100)
   declare @tableName nvarchar(20)
   declare @name nvarchar(20)
   set @name='math'
   set @tableName='kch'
   set @sqlstring='select * from '+ @tablename +' where name= @name'
   exec sp_executesql @sqlstring,N'@name nvarchar(20)',@name
5:自定义的变量赋值的时候必须用set ,select (不论是否第一次赋值)。(如上4中)
6:Sql Server默认是不区分大小写的,如果你用Math作为值来查询,math也会出现在查询结果中。
7:select top 数量 from ......where...... order by ...句型很有用。比如获取考试成绩前几名的信息。
8:from后面一般是表对象,但也可以是查询结果。如select ... from table1,(select ... from ...where) table2 where...
   例子:
   select r.* from
   RepairRecord r,
   (select CID,max(RepaieTime) as RepaieTime from RepairRecord group by CID) a
   where r.CID=a.CID and r.RepaieTime=a.RepaieTime
   order by id
 9:向表中添加标识列,add id int identity(1,1)
10:stuff函数:stuff(字符串,整数,整数,字符串) 示例:stuff('mingchao',2,3,'go') ,结 果: mgochao.从第2个字符开始删除3个字符,再插入go.就是用go代替第2个字符开始的3个字符。
11:SQL Server2000中3个未公布的三个加密函数。前两个函数是不可逆加密。可以用来加密数据库中的密码信息。
    (1):Encrypt(string1)
    (2):pwdencrypt(string2)
    (3):pwdcompare('加密前的明文',加密后的密文(是用pwdencrypt加密的)) --比较,返回1相等,0则反之。
12:生成临时表
    select * into temp  from tb where ... --生成临时表temp 和tb一样的结构,并且存放tb中的数据
    添加一列select * ,'hello' as hello into temp  from tb where ... --添加了一列,并赋值‘hello’
13:判断某对象是否存在if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[studentinfo]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)

阅读(4666) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册