postgresql - What is the best way to select records from value/unit table? -
i have hard_drives table columns producent, size, unit
samsung|256|gb caviar |850|mb sandisc|512|gb seagate|2 |tb i'd create queries selecting hard drives size > 128gb, size < 1000mb, size < 1tb etc.
would add new column size_in_bytes, or create conversion table storage_units columns unit, size_in_bytes , use calculations, or maybe there better way perform such queries?
you should use common unit, mb, storing disk sizes. workaround, can use case expression in where clause:
select * yourtable case when unit = 'mb' size when unit = 'gb' 1000*size when unit = 'tb' 1000*1000*size end > 128*1000 -- size > 128gb
Comments
Post a Comment