统计某个字段等于特定值的记录条数(1分)

  • 主题发起人 主题发起人 zh_2001
  • 开始时间 开始时间
Z

zh_2001

Unregistered / Unconfirmed
GUEST, unregistred user!
表a(s0,s1,s2),s0为datetime类型,我想知道s0等于某个
特定值(如:01-10-23 17:19:34)的记录的数目,请问怎么写?
 
select count(*) from a where s0 :=日期[:D][:D]
 
注意一下where字句中日期条件的格式
 
zh_2001,如果xiaoywh地回答不对,请说明你执行后的结果,否则叫人家如何为你解决问题?
再试试这个:
select count(*)
from a
group by s0
having s0 = 日期
 
不可能不对。。。。。除非你并不是要这个结果
这是一句最基本的SQL了。。。。
 
关键是日期怎么写?‘01-10-23 17:19:34’?如果是
select count(*) from a where s0=‘10/23/01‘就对,我也知道。
但是统计s0是‘01-10-23 17:19:34’的怎么写?我试了好长时间都不对!
 
可以采用字符串比较,在oracle下可以这样
select count(*)
from a
where to_char(s0,'mm/dd/yy hh:mi:ss')=‘01-10-23 17:19:34’;
其中,to_char为各式转换函数,由数据库系统提供的。ms sql server也有类似的函数。
 
在sql中是convert吗?不行啊!秒没有了!
 
以下代码在SQL SERVER测试通过了:
select * from 表名 where CONVERT(datetime, 字段名, 14) = '2001-10-23 14:56:21.378'
 
黄文林,你的答案还有点问题,能够执行,但是返回的结果是“0”!!可是我的表里满足
条件的有几百条!!!
 
接受答案了.
 
后退
顶部