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)
谢谢
SELECT CAST(REPLACE(YourVarcharCol, 'dollars', '') AS INT) FROM Table
Run Code Online (Sandbox Code Playgroud)
问题是如果 varchar 仍然包含字母数字字符,它就会中断。