SQL查询TO_INTEGER substr

时间:2012-01-02 10:11:30

标签: sql oracle plsql

请解释我如何理解下一个查询

TO_INTEGER(substr(NAME,1,length(NAME)-3))*100

2 个答案:

答案 0 :(得分:1)

您正在使用NAME的子字符串,该字符串恰好是字符串形式的整数,并将其转换为整数并将其乘以100。

答案 1 :(得分:1)

例如,NAME是'1234CDE'

最里面的部分从输入值NAME获取一个子字符串,从位置1开始,长度等于原始字符串的长度减3:

substr(NAME,1,length(NAME)-3) -- >> '1234'

外部函数将提取的子字符串转换为整数:

TO_INTEGER('1234') -- >> 1234 (as integer)

最后有一个简单的乘法:

1234 * 100 -- >> 123400

所以

TO_INTEGER(substr('1234CDE',1,length('1234CDE')-3)) * 100 -- >> 123400