oracle sql 将Strike:1.0 切除Strike: 留下1.0并trim
时间: 2024-03-21 12:43:59 浏览: 116
你可以使用 REPLACE 和 TRIM 函数配合完成字符串的替换和去除两端空格。具体操作如下:
```
SELECT TRIM(REPLACE('Strike:1.0', 'Strike:', '')) AS result FROM dual;
```
解析:
1. 使用 REPLACE 函数将字符串中的 'Strike:' 替换为空字符串。
2. 使用 TRIM 函数去除字符串两端的空格。
3. 在 SELECT 语句中使用 AS 子句将结果命名为 result。
执行以上 SQL 语句,得到的结果为:
```
1.0
```
相关问题
oracle函数将 碳钢: SWCH22A 按照 : 分割, 取后面的, 并去除两头空格
可以使用如下的Oracle函数实现:
```sql
SELECT TRIM(SUBSTR('碳钢: SWCH22A', INSTR('碳钢: SWCH22A', ':') + 1)) AS result
FROM dual;
```
解释一下上面的SQL语句:
1. 首先使用 `SUBSTR` 函数取出字符串中冒号后面的部分;
2. 然后使用 `INSTR` 函数找到冒号的位置,加上1作为 `SUBSTR` 函数的起始位置,即可取到冒号后面的部分;
3. 最后使用 `TRIM` 函数去除字符串两边的空格。
执行上述SQL语句,可以得到以下结果:
```
result
-------
SWCH22A
```
只需要匹配出从Strike:开始往后第一个空格为止
你可以使用 SUBSTR 和 INSTR 函数配合完成字符串的截取。具体操作如下:
```
SELECT TRIM(SUBSTR('CallableSchedule:[|CALLSCH| (Notice1:""20130205"" Notice2:""20130205"" FromDate:""20130208"" ToDate:""20130208"" PutCall:""C"" Strike:1.0 )(Notice1:""20140205"" Notice2:""20140205"" FromDate:""20140210"" ToDate:""20140210"" PutCall:""C"" Strike:1.0 )', INSTR('CallableSchedule:[|CALLSCH| (Notice1:""20130205"" Notice2:""20130205"" FromDate:""20130208"" ToDate:""20130208"" PutCall:""C"" Strike:1.0 )', 'Strike:') + 7, INSTR('CallableSchedule:[|CALLSCH| (Notice1:""20130205"" Notice2:""20130205"" FromDate:""20130208"" ToDate:""20130208"" PutCall:""C"" Strike:1.0 )', ' ', INSTR('CallableSchedule:[|CALLSCH| (Notice1:""20130205"" Notice2:""20130205"" FromDate:""20130208"" ToDate:""20130208"" PutCall:""C"" Strike:1.0 )', 'Strike:'))) AS result FROM dual;
```
解析:
1. 使用 INSTR 函数获取字符串中 'Strike:' 和第一个空格的位置。
2. 使用 SUBSTR 函数获取子字符串,其中起始位置为 'Strike:' 的位置加上 7(即 'Strike:' 的长度),长度为第一个空格的位置减去 'Strike:' 的位置再减去 7。
3. 使用 TRIM 函数去除字符串两端的空格。
4. 在 SELECT 语句中使用 AS 子句将结果命名为 result。
执行以上 SQL 语句,得到的结果为:
```
1.0
```
阅读全文