还是关于between语句的问题

conglin100 2008-05-05 03:26:24
select * from homeifo where replace(mianji,'㎡','') between '0' and '150'

我数据库中mianji的值最大就是90

写成上述0~~150却读不出来

难道between语句的范围不能大于数据库中值得范围吗?

这个问题怎么解决?
...全文
109 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
conglin100 2008-05-05
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 happyflystone 的回复:]
---try:

select * from homeifo where Hex(replace(mianji,'㎡','')) between 0x0 and 0x96
[/Quote]

这个也能执行 能搜索出来 但是把96改成150还是什么都搜索不出来
conglin100 2008-05-05
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 happyflystone 的回复:]
晕,mysql不是很会呀

--try :

select * from homeifo where CONV(Hex(replace(mianji,'㎡','')),16,10) between 0 and 150
[/Quote]

这个语句能执行 但是什么都搜索不出来
-狙击手- 2008-05-05
  • 打赏
  • 举报
回复
---try:

select * from homeifo where Hex(replace(mianji,'㎡','')) between 0x0 and 0x96
-狙击手- 2008-05-05
  • 打赏
  • 举报
回复
晕,mysql不是很会呀

--try :

select * from homeifo where CONV(Hex(replace(mianji,'㎡','')),16,10) between 0 and 150
conglin100 2008-05-05
  • 打赏
  • 举报
回复
楼上的大哥

还是执行不了 报错
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Integer(replace(mianji,'㎡','')) between 0 and 150' at line 1
-狙击手- 2008-05-05
  • 打赏
  • 举报
回复
更正
select * from homeifo where Integer(replace(mianji,'㎡','')) between 0 and 150 
-狙击手- 2008-05-05
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 conglin100 的回复:]
为什么你们的语句 我用mysql都执行不了呢????????????
[/Quote]




select * from homeifo where Integer(replace(mianji,'㎡','') as int) between 0 and 150
conglin100 2008-05-05
  • 打赏
  • 举报
回复
为什么你们的语句 我用mysql都执行不了呢????????????
Vest004 2008-05-05
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 Limpire 的回复:]
字符串 '2'>'150' 更别说 '9' 了
[/Quote]
kelph 2008-05-05
  • 打赏
  • 举报
回复
你比较的是字符串
转成数字比较
select * from homeifo where cast(replace(mianji,'㎡','') as int) between 0 and 150
kk19840210 2008-05-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 Limpire 的回复:]
SQL codeselect * from homeifo where convert(int, replace(mianji,'㎡','')) between 0 and 150
[/Quote]
Limpire 2008-05-05
  • 打赏
  • 举报
回复
字符串 '2'>'150' 更别说 '9' 了
Vest003 2008-05-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ranzj 的回复:]
字符串用 between 会得不到你想要的结果。

转成数值型再 between !
[/Quote]
dawugui 2008-05-05
  • 打赏
  • 举报
回复
[Quote=引用楼主 conglin100 的帖子:]
select * from homeifo where replace(mianji,'㎡','') between '0' and '150'

我数据库中mianji的值最大就是90

写成上述0~~150却读不出来

难道between语句的范围不能大于数据库中值得范围吗?

这个问题怎么解决?
[/Quote]

select * from homeifo where cast(replace(mianji,'㎡','') as int) between 0 and 150

正宗老冉 2008-05-05
  • 打赏
  • 举报
回复
字符串用 between 会得不到你想要的结果。

转成数值型再 between !
-狙击手- 2008-05-05
  • 打赏
  • 举报
回复
select * from homeifo where cast(replace(mianji,'㎡','') as int) between 0 and 150
Limpire 2008-05-05
  • 打赏
  • 举报
回复
select * from homeifo where convert(int, replace(mianji,'㎡','')) between 0 and 150

34,576

社区成员

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

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