varchar 到数字的转换

JLe*_*ner 5 sql oracle select insert

我有一个问题困扰着我。当 varchar 值由字母组成时,如何将 varchar 转换为数字。

对于我的 varchar 价格列值:

14dollars10cents
15dollars20cents
Run Code Online (Sandbox Code Playgroud)

通过将其转换为 varchar 到数字价格列,值应为:

1410
1520
Run Code Online (Sandbox Code Playgroud)

我知道如果 varchar 不包含任何字母,它可以通过“自动转换”

SELECT CONVERT(INT, PRICE) FROM Table
Run Code Online (Sandbox Code Playgroud)

有什么方法可以去掉中间的字母,因为我想对其进行数学函数。

更新了将定点数放入的尝试:

SELECT CAST (Replace(REPLACE(PRICE, 'dollars', '.'),'cents','') AS Number(4,2))) 
FROM TEST;
Run Code Online (Sandbox Code Playgroud)

谢谢

ada*_*510 2

SELECT CAST(REPLACE(YourVarcharCol, 'dollars', '') AS INT) FROM Table
Run Code Online (Sandbox Code Playgroud)

问题是如果 varchar 仍然包含字母数字字符,它就会中断。