要将RAM中内容转换为一致 SELECT * FROM ( select id,if(ram='1G',1024,LEFT(RAM,3)+0) AS NEWRAM FROM TT ) A WHERE NEWRAM>512 OR SELECT * FROM TT WHERE if(ram='1G',1024,LEFT(RAM,3)+0)<512
建议你修改一下表结构,全部转化为M或者G,这样好比较,否则效率得不到保证! 依照你现在的表结构,不过毫无效率可言!!!! 假设表明为ram_record.from (select id, if(instr(ram,'G'),concat((ram + 0) * 1024,'M'), ram) as ram from ram_record) T where ram + 0 < cast('512M' as unsigned);
SELECT * FROM (
select id,if(ram='1G',1024,LEFT(RAM,3)+0) AS NEWRAM FROM TT ) A WHERE NEWRAM>512
OR
SELECT * FROM TT WHERE if(ram='1G',1024,LEFT(RAM,3)+0)<512
依照你现在的表结构,不过毫无效率可言!!!!
假设表明为ram_record.from (select id,
if(instr(ram,'G'),concat((ram + 0) * 1024,'M'),
ram) as ram
from ram_record) T
where ram + 0 < cast('512M' as unsigned);