您好 我想知道如何将身高与其他用户身高进行比较 这是我的查询
select * from tbl_Member where height between 3'8'' and 7'0'';
这里的身高是其他用户身高 请告诉我正确的查询
答案 0 :(得分:4)
比较数据库中的3'8''
和7'0''
之类的值需要对每个查询进行大量解析,并且速度相当慢。在数据库中以可比较的方式存储您的值,在这种情况下,这意味着INT
列的值以厘米为单位存储。在其上放置索引以使查询更快。然后只转换为英寸显示。
答案 1 :(得分:0)
你必须转义varchar字符串中的单引号,因为单引号字符表示字符串的开头或结尾:
SELECT *
FROM tbl_Member
WHERE height BETWEEN '3\'8\'\'' AND '7\'0\'\''
答案 2 :(得分:0)
我知道这很脏,但是你去了
select *
from tbl_Member
where
concat(format(left(height, 1), 0), lpad(format(substr(height,3,2), 0 ), 2, '0'))
between 308 and 700
3'8''变为308 7'12''变为712