SQL Server:出于数学目的,如何仅选择带有度量单位的数字[重复]
Posted
技术标签:
【中文标题】SQL Server:出于数学目的,如何仅选择带有度量单位的数字[重复]【英文标题】:SQL Server : how to only select a number that has a unit of measure attached, for math purposes [duplicate] 【发布时间】:2018-11-30 13:22:34 【问题描述】:我需要根据最终用户的输入进行一些数学运算,但为了他们的缘故,我们在可用选项中添加了计量单位,以便输入到正在查询的表中。所以我有一列填充了 6 英寸或 1 英尺,我只需要实际数字来继续我的等式。有没有办法过滤掉我选择的非整数部分?
最终使用了这个
REVERSE(SUBSTRING(REVERSE(COLUMNNAME),2,4))
所以它花了 16" 将其更改为 "61 选择了 61 然后反转回来。我的专栏永远不会超过 100 并且 UOM 将是相同的,所以如果它是 ft,我会为此修改它。
【问题讨论】:
非常感谢您的意见! 重新设计/修改数据库并将列设置为整数是否为时已晚? 哈哈,不一定,但为了方便,我不想修改。我最终扭转了查询。REVERSE(SUBSTRING(REVERSE(COLUMN, 2, 4)))
我需要一个从右到左而不是从左到右的子字符串,这样就可以了。
【参考方案1】:
有关将VARCHAR
转换为INTEGER
的信息,请参阅this overview。
简短回答:开箱即用是不可能的。但在“如何从列值中解析/检索仅数字包含字母数字字符?”它们链接到一个自定义函数,可以满足你的需要。
【讨论】:
酷,非常感谢您的意见!以上是关于SQL Server:出于数学目的,如何仅选择带有度量单位的数字[重复]的主要内容,如果未能解决你的问题,请参考以下文章
为什么SQL Server不遵循带有SUM的BODMAS数学规则?