常用SQL语句

1、用什么的SQL语句来查的一个表中有相同的记录条数

select 相同条件的字段,count(*) from 表
group by 相同条件的字段
having count(*) >1

2、请问怎么查看数据库服务器IP地址

--得到服务器的IP地址

create table #ip(id int identity(1,1),re varchar(200))

declare @s varchar(1000)
set @s='ping '+left(@@servername,charindex('\',@@servername+'\')-1)+' -a -n 1 -l 1'
insert #ip(re) exec master..xp_cmdshell @s

select 服务器名=@@servername,IP地址=stuff(left(re,charindex(']',re)-1),1,charindex('[',re),')
from #ip
where id=2

drop table #ip

3、日期字段怎么只保存年月日,而不要时间?

CONVERT (varchar(10), Date, 112))

4、如何删除一个数据库?

if exists (select * from sysdatabases where name = 'dba')
drop database dba
GO

5、如何用SQL语句创建一个自动编号的字段?

create table mytable(
id int identity(1,1)
)

6、没有这样的sql语句,可以取从第x条到第y条的数据集?

查询第X页,每页Y条记录

最基本的处理方法(原理):

如果表中有主键(记录不重复的字段也可以),可以用类似下面的方法,当然y,(x-1)*y要换成具体的数字,不能用变量:

select top y * from 表 where 主键 not in(select top (x-1)*y 主键 from 表)

如果表中无主键,可以用临时表,加标识字段解决.这里的x,y可以用变量.

select id=identity(int,1,1),* into #tb from 表
select * from #tb where id between (x-1)*y and x*y-1

7、SQLServer中 如何取出一个表的所有列名?
方法如下:先从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

8、用什么查询语句或函数可以知道是否存在一个数据库

if db_id(N'要检查的库名') is null
print '数据库不存在'
else 
print '数据库存在'

9、删除一个数据表

if exists(select * from sysobjects where name='要删除的表名' and xtype='u')
Drop table 表名
go

10、SQL语句 两种求和
第一个:一行记录中 如何求 字段1 字段2 字段3 字段N 的和?

select column1+column2+......+column3 as 'totalnum' From Tablename

第二个:一列记录中 如何求 本字段所有记录 的和?

Select sum(字段名) From TableName

字段属性是数字(数值型、货币型都可)的时候才可以实现,如果有NULL值则被忽略。
posted @ 2008-11-25 21:32  XGU_Winner  阅读(228)  评论(0编辑  收藏  举报