有时需要在一个变量或数据库字段中包含多个值,即使这违反了关系规范化原则。在python和支持列表的其他语言中,这很容易。在其他情况下,它不是。见insert multiple values in single attribute
一种常见的技术是将值连接成逗号分隔的字符串:“1,2,3”或“英语,法语,西班牙语”,然后通过解析提取值。
当有效值来自枚举列表时,是否有另一种不需要解析的方法?
答案 0 :(得分:1)
是。使用素数,将它们相乘,然后将它们分解出来。
使用模数函数确定字段中的值
if ( field % 3 == 0 ) { english() ;}
if ! (field % 5) { french() ;}
=IF(NOT(MOD(A203,5)),"French","")
我首先使用这种技术来存储尺寸。
例如,“第一时刻”杠杆臂的尺寸值为35 ==质量*长度。 为了将小数维度存储在一个整数中,我将小数维度乘以所有小数的乘积并在处理中处理它。
我使用整数的原因是为了避免由于舍入错误而处理无效的相等比较。
请不要让代码提取分数维。所有这些都是40年前的APL / 360。
答案 1 :(得分:0)
如果您不需要允许相同值的倍数,那么您可以使用位图。根据是否有最多8,16,32,64或128个允许值,它们可以适合1,2,4,8或16字节整数。