nvarchar列的SQL选择范围
如何从nvarchar列的SQL选择范围,sql,sql-server,Sql,Sql Server,如何从列a在55-42000范围内的表格中进行选择 注意:列a的数据类型位于nvarchar 我试过这样,但运气不好 SELECT SoftwareName, SoftwareImageTeaser, SoftwarePrice, SoftwareDescription FROM View_Software_Listing_With_Category WHERE (SoftwarePrice >= '55' AND SoftwarePrice <= '420
列a
在55-42000范围内的表格中进行选择
注意:列a
的数据类型位于nvarchar
我试过这样,但运气不好
SELECT
SoftwareName, SoftwareImageTeaser, SoftwarePrice, SoftwareDescription
FROM
View_Software_Listing_With_Category
WHERE
(SoftwarePrice >= '55' AND SoftwarePrice <= '42000')
选择
SoftwareName、SoftwareImageTrister、SoftwarePrice、SoftwareDescription
从…起
查看\u软件\u列表\u和\u类别
哪里
(SoftwarePrice>='55'和SoftwarePrice试试这个,因为您的SoftwarePrice
列是nvarchar,您需要将它转换为整数,以便与整数值进行比较。然后您可以使用between
子句来过滤记录
SELECT SoftwareName,SoftwareImageTeaser,SoftwarePrice,SoftwareDescription
FROM View_Software_Listing_With_Category
WHERE Cast(SoftwarePrice as Int) between 55 AND 42000
如果需要将列视为int,为什么要将其存储为varchar?我假设column\u a
这里指的是SoftwarePrice
?@asprin是的,column\u a是SoftwarePrice,@MarcB,因为我对数据输入部分没有控制权。这是以前插入的现有数据。为什么要先将其转换为float,然后再转换为t母鸡重铸为int?
SELECT SoftwareName,SoftwareImageTeaser,SoftwarePrice,SoftwareDescription
FROM View_Software_Listing_With_Category
WHERE (CAST(CAST(SoftwarePrice AS FLOAT) AS INT) BETWEEN 55 AND 42000