求一SQL语句!!!!

miniburger 2004-06-21 05:05:19
有一个表
table1
字段:
Caccount varchar(20)
Ctelephone varchar(10)

现在要计算出电话号码在3814XXX----3825XXX区间内的用户数,这句SQL语句怎么写?

...全文
100 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
attila2003 2004-06-22
  • 打赏
  • 举报
回复
select count(*)
from table1
where convert(int,substring(ctelephone,1,4)) >= '3814' and convert(int,substring(ctelephone,1,4)) <= '3826'
wshcdr 2004-06-22
  • 打赏
  • 举报
回复
STUDY
miniburger 2004-06-22
  • 打赏
  • 举报
回复
还有其它吗??
ocean9b 2004-06-21
  • 打赏
  • 举报
回复
select count(*) from table where cast(ctelephone as int)>=3814000 and cast(ctelephone as int)<=3825999
miniburger 2004-06-21
  • 打赏
  • 举报
回复
再TO 无为:
而且你这句的运行结果与中海那句是一样的。
还是与这句,最原始的写法运算出来的结果不一样。到底哪个对?

select count(*)
from table1
where ctelephone like '3814%' or ctelephone like '3815%'........... or ctelephone like '3825%'
miniburger 2004-06-21
  • 打赏
  • 举报
回复
TO 无为:
加了SUBSTRING之后,运算速度就明显慢很多了。如果不用这些转换函数还有什么其它写法吗?
miniburger 2004-06-21
  • 打赏
  • 举报
回复
select count(*)
from table1
where ctelephone between '3814' and '3826'



select count(*)
from table1
where ctelephone like '3814%' or ctelephone like '3815%'........... or ctelephone like '3825%'

计算出来的结果不一样喔!为什么呢??
friendliu 2004-06-21
  • 打赏
  • 举报
回复
select caccount
from table1
where substring(ctelephone,1,4) between '3814' and '3826'
miniburger 2004-06-21
  • 打赏
  • 举报
回复
BETWEEN可以用于计算字符型数据的吗?
victorycyz 2004-06-21
  • 打赏
  • 举报
回复
用户数,刚才看错了。

select count(*)
from table1
where ctelephone between '3814' and '3826'
victorycyz 2004-06-21
  • 打赏
  • 举报
回复
select caccount
from table1
where ctelephone between '3814' and '3826'

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧