【发布时间】:2013-11-21 09:18:29
【问题描述】:
我有一个应该具有浮动值(价格)的数据字段,但是数据库设计人员搞砸了,现在我必须在该字段上执行聚合函数。而 80% 的时间数据格式正确,例如。 “80.50”,有时会保存为“80.50 美元”或“每平方米 80.50 美元”。
数据字段是 nvarchar。我需要做的是从 nvarchar 中提取浮点数。我遇到了这个:Article on SQL Authority
然而,有些人可能会说,这解决了我一半的问题,或者使问题复杂化。该函数只返回字符串中的数字。也就是说,“每平方米 80.50 美元”将返回 80502。显然这不起作用。我试图从 => 更改正则表达式 PATINDEX('%[^0-9]%', @strAlphaNumeric) to=> PATINDEX('%[^0-9].[^0-9]%', @strAlphaNumeric) 不工作。任何帮助将不胜感激。
【问题讨论】:
-
您对“每平方米 80.50 美元”的回答有何期望??
标签: sql sql-server regex