Mysql - 字符串中的变量等于或者小于

问题描述:

如何在mysql中列出其中某个数据与给定值相等或更低的行,数据是字符串。Mysql - 字符串中的变量等于或者小于

DB

元件1 - > '50厘米', '30厘米', '20厘米', '10厘米'

元件2 - > '49厘米', '58厘米',“43厘米”, '100厘米'

元件3 - > '60厘米', '88厘米', '33厘米', '60厘米'

查询 - >找到EL = '50厘米'

结果

元件1 - > '50厘米', '30厘米', '20厘米', '10厘米'

元件2 - > '49厘米', '58厘米',' 43厘米”,‘100厘米’

感谢

+1

什么是“元素”?他们行吗?每个cm值是否在其自己的列中?为什么你的数字和单位具有相同的价值?咦? – 2014-09-30 10:51:45

+0

通常,这些类型的数据存储在“value&unit”两列中,并在“value”列中进行所有比较。这是你可以考虑改变的东西吗? – nilobarp 2014-09-30 10:51:46

+0

如果它们都附加了'cm',则不需要指定'cm',并且您可以只使用int。 – 2014-09-30 10:52:51

你可以试试,但我不知道将做的工作:

SELECT CAST(column_name AS UNSIGNED) as m FROM MY_TABLE where m < CAST('50cm' AS UNSIGNED) ; 

基本上你把50cm变成一个整数50,然后你比较它们。

从理论上讲,人们提到你应该有两列,一列是值,一列是单位。

+1

你救了我的一天。非常感谢 :) – 2014-09-30 12:35:20