我有下表:
现在我要做的是找出给定数字(假设4)属于哪个范围。然后选择相应的Trans_Charges
和Handling_Charges
。
有任何想法如何使用asp.net做到这一点?我是一个新手,不知道如何继续。
答案 0 :(得分:1)
非常不幸的是杆高度范围以这种方式存储。它会造成一些丑陋的SQL。您需要使用子串方法来提取低和高范围,然后进行BETWEEN。 假设您正在使用MSSQL:
DECLARE @nbr INT;
SET @nbr = 4;
SELECT Trans_Charges, Handling_Charges
FROM [YourTable]
WHERE @nbr BETWEEN CONVERT(INT, SUBSTRING(Pole_Height_Range,1,(CHARINDEX('-', Pole_Height_Range) - 1))) AND
CONVERT(INT, SUBSTRING(Pole_Height_Range,(CHARINDEX('-', Pole_Height_Range) + 1), LEN(Pole_Height_Range)));
答案 1 :(得分:0)
SELECT Trans_Charges, Handling_Charges
FROM (SELECT Trans_Charges,
Handling_Charges,
CONVERT (
INT,
substring (Pole_Height_Range,
1,
INSTR (Pole_Height_Range, "-") - 1))
AS min_height,
substring (Pole_Height_Range,
INSTR (Pole_Height_Range, "-"),
len (Pole_Height_Range))
) as max_height from tbl where Pole_Height_Range is not null)
where 4<=max_height and 4>=min_height