zhongyan

博客园 首页 新随笔 联系 订阅 管理

按笔画多少排序  
  select   *   from   test  
  ORDER   BY   xm   COLLATE   Chinese_PRC_Stroke_CI_AS_KS

 

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值则被忽略。

 SQL模糊查询,使用like比较字,加上SQL里的通配符,请参考以下:

1、LIKE'Mc%' 将搜索以字母 Mc 开头的所有字符串(如 McBadden)。
2、LIKE'%inger' 将搜索以字母 inger 结尾的所有字符串(如 Ringer、Stringer)。
3、LIKE'%en%' 将搜索在任何位置包含字母 en 的所有字符串(如 Bennet、Green、McBadden)。
4、LIKE'_heryl' 将搜索以字母 heryl 结尾的所有六个字母的名称(如 Cheryl、Sheryl)。
5、LIKE'[CK]ars[eo]n' 将搜索下列字符串:Carsen、Karsen、Carson 和 Karson(如 Carson)。
6、LIKE'[M-Z]inger' 将搜索以字符串 inger 结尾、以从 M 到 Z 的任何单个字母开头的所有名称(如 Ringer)。
7、LIKE'M[^c]%' 将搜索以字母 M 开头,并且第二个字母不是 c 的所有名称(如MacFeather)。
-------------------------------------------------
呵呵,要完整的例句啊。下面这句查询字符串是我以前写的,根据变量 zipcode_key 在邮政编码表 zipcode 中查询对应的数据,这句是判断变量 zipcode_key 为非数字时的查询语句,用 % 来匹配任意长度的字符串,从表中地址、市、省三列中查询包含关键字的所有数据项,并按省、市、地址排序。这个例子比较简单,只要你理解了方法就可以写出更复杂的查询语句。

sql = "select * from zipcode where (address like'%" & zipcode_key & "%') or (city like'%" & zipcode_key & "%') or (province like'%" & zipcode_key & "%') order by province,city,address"

注:

"%"可以表示多个字符,
"_"只能表示一个字符,
一个汉字是两个字符,所以表示汉字应该用两个_,即“__”

posted on 2007-09-02 02:54  钟岩  阅读(338)  评论(0编辑  收藏  举报