1.WAITFOR
有用的SQL 语句(不断更新)--WAITFOR
有用的SQL 语句(不断更新)--
例 等待1 小时2 分零3 秒后才执行SELECT 语句
有用的SQL 语句(不断更新)
waitfor delay '01:02:03'
有用的SQL 语句(不断更新)
select * from employee
有用的SQL 语句(不断更新)
--例 等到晚上11 点零8 分后才执行SELECT 语句
有用的SQL 语句(不断更新)
waitfor time '23:08:00'
有用的SQL 语句(不断更新)
select * from employee

2.查看sqlserver版本
有用的SQL 语句(不断更新)select  serverproperty('productversion'),serverproperty('productlevel'),serverproperty('edition')

3.在SQLSERVER,简单的组合sp_spaceused和sp_MSforeachtable这两个存储过程,可以方便的统计出用户数据表的大小,包括记录总数和空间占用情况,非常实用,在SqlServer2K和SqlServer2005中都测试通过。
 #t

4.从表中随即抽取N个数据
有用的SQL 语句(不断更新)SELECT TOP 10 *
有用的SQL 语句(不断更新)
FROM LargeTable
有用的SQL 语句(不断更新)
ORDER BY NEWID()

5.SQL语句附加数据库
有用的SQL 语句(不断更新)use master 
有用的SQL 语句(不断更新)
EXEC sp_attach_db @dbname = N'pubs',  
有用的SQL 语句(不断更新)   
@filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf',  
有用的SQL 语句(不断更新)   
@filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf' 

6.数据库表间数据复制
有用的SQL 语句(不断更新)--1.表结构相同的表,且在同一数据库(如,table1,table2)
有用的SQL 语句(不断更新)

有用的SQL 语句(不断更新) Sql :
insert into table1 select  *   from table2 (完全复制)
有用的SQL 语句(不断更新)
有用的SQL 语句(不断更新)           
insert into table1 select  distinct  *  from table2(不复制重复纪录)
有用的SQL 语句(不断更新)
有用的SQL 语句(不断更新)           
insert into table1 select  top 5 *  from  table2 (前五条纪录)
有用的SQL 语句(不断更新)
有用的SQL 语句(不断更新)
--2.不在同一数据库中(如,db1 table1,db2 table2)
有用的SQL 语句(不断更新)

有用的SQL 语句(不断更新) sql:   
insert into db1..table1 select  *   from db2..table2 (完全复制)
有用的SQL 语句(不断更新)
有用的SQL 语句(不断更新)           
insert into db1..table1 select  distinct  *  from db2table2(不复制重复纪录)
有用的SQL 语句(不断更新)
有用的SQL 语句(不断更新)           
insert into tdb1..able1 select  top 5 *  from  db2table2 (前五条纪录)

7.按姓氏笔画排序
有用的SQL 语句(不断更新)Select * From TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as 

8.多条件查询
    多条件查询在实际应用中用的很多,在一些页面上会要求根据时间,类别,或是其他的一些关键字来查询数据,而且这些条件并不是一定要输入的。以前有过在C#代码中根据条件选中的情况来拼where条件字串,也有过在存储过程中用if来判断传进的参数,但是后来知道早存储过程中使用OR是最简单的,如下:
有用的SQL 语句(不断更新)create Table Users
有用的SQL 语句(不断更新)(
有用的SQL 语句(不断更新)    id 
int,
有用的SQL 语句(不断更新)    name 
nvarchar(20),
有用的SQL 语句(不断更新)    age 
int
有用的SQL 语句(不断更新))
有用的SQL 语句(不断更新)
有用的SQL 语句(不断更新)
create proc sp_SGetUserInfo
有用的SQL 语句(不断更新)(
有用的SQL 语句(不断更新)  
@Name nvarchar(20),
有用的SQL 语句(不断更新)  
@Age int
有用的SQL 语句(不断更新))
有用的SQL 语句(不断更新)
as
有用的SQL 语句(不断更新)
select 
有用的SQL 语句(不断更新)    
*
有用的SQL 语句(不断更新)
from
有用的SQL 语句(不断更新)    Users
有用的SQL 语句(不断更新)
where
有用的SQL 语句(不断更新)    (
@Name='' or name=@Name)
有用的SQL 语句(不断更新)
and
有用的SQL 语句(不断更新)    (
@Age='' or age=@Age)
有用的SQL 语句(不断更新)

9.sqlserver中取随机数的两种方法
   a.创建一个表Rand,字段是:RandomNum ,存储0到9的数据。
      使用下面SQL语句可产生随机数:
有用的SQL 语句(不断更新)select top 1 RandomNum from Rand order by NewID()
有用的SQL 语句(不断更新)
   b.使用sqlserver提供的Rand()函数
 
有用的SQL 语句(不断更新)select castfloor(rand()*N) as int
有用的SQL 语句(不断更新)
--产生0到N-1之间的随机数
有用的SQL 语句(不断更新)
select cast(ceiling(rand() * N) as int)
有用的SQL 语句(不断更新)
--产生1到N之间的随机数

10.在数据库中几个常用的日期格式转换
    日期格式转换也是经常用到的,通常2008-04-12和20080412 这两种格式用的比较多,下面列出一些常用的:
有用的SQL 语句(不断更新)CONVERT(VARCHAR(10),GETDATE(),120)
有用的SQL 语句(不断更新)
--返回2008-04-12
有用的SQL 语句(不断更新)
CONVERT(VARCHAR(10),GETDATE(),20)
有用的SQL 语句(不断更新)
--返回2008-04-12
有用的SQL 语句(不断更新)
CONVERT(VARCHAR(10),GETDATE(),112)
有用的SQL 语句(不断更新)
--返回20080412
有用的SQL 语句(不断更新)
CONVERT(VARCHAR(10),GETDATE(),111)
有用的SQL 语句(不断更新)
--返回2008/04/12

相关文章:

  • 2022-01-06
  • 2022-12-23
  • 2021-12-10
  • 2021-06-17
  • 2021-07-03
  • 2021-09-05
  • 2021-11-22
  • 2022-12-23
猜你喜欢
  • 2021-06-04
  • 2021-08-22
  • 2021-10-19
  • 2022-12-23
  • 2022-02-13
  • 2022-02-13
  • 2022-03-03
相关资源
相似解决方案