有什么方法可以在数据库中存储小数范围?例如,年龄范围是24-35,但目标是确保用户随后可以输入其年龄并接收与此范围相关的数据。
也许有一些有关此主题的教程?
答案 0 :(得分:1)
使用最小和最大范围的表格制作表格,如下所示:
CREATE TABLE age_range
(minimum integer,
maximum integer,
name AS convert(varchar, minimum) + '-' + convert(varchar, maximum),
PRIMARY KEY (minimum,
maximum),
CHECK (minimum <= maximum));
如果有任何顾虑,也许还会添加触发器检查,范围不要重叠。
然后,您可以使用以下方式选择年龄范围:
SELECT *
FROM age_range
WHERE minimum <= @user_age
AND maximum >= @user_age;
答案 1 :(得分:0)
在sql表中,没有简单的方法将范围存储在一个字段中。您将需要两个字段:[AgeFrom] int, [AgeTo] int
。
有一种可能的解决方案是将范围存储在字符串(varchar)字段中并解析所存储的范围信息,例如'24 -35',但这比两场解决方案要复杂得多。
无论如何,您都可以在C#中定义一个对象来确定给定年龄是否在特定范围内,并返回所需数据。