oracle中left函数与db2的差别
时间: 2024-03-20 12:44:17 浏览: 135
在 Oracle 和 DB2 中,`LEFT()` 函数都用于从左侧提取指定长度的字符串。但是,它们的语法略有不同,下面是它们的具体差异:
在 Oracle 中,`LEFT()` 函数被称为 `SUBSTR()` 函数,并且有两种用法:
1. `SUBSTR(string, start_position, [length])`:从 `string` 字符串的 `start_position` 位置开始提取 `length` 个字符。如果 `length` 参数被省略,则返回从 `start_position` 位置到字符串末尾的所有字符。
例如,以下代码将返回从字符串 `str` 的第一个字符开始的前三个字符:
```sql
SELECT SUBSTR(str, 1, 3) FROM dual;
```
2. `SUBSTR(string, [start_position])`:从 `string` 字符串的 `start_position` 位置开始提取剩余的所有字符。如果 `start_position` 参数被省略,则返回整个字符串。
例如,以下代码将返回从字符串 `str` 的第二个字符开始的所有字符:
```sql
SELECT SUBSTR(str, 2) FROM dual;
```
在 DB2 中,`LEFT()` 函数的语法为:
`LEFT(string, length)`:从 `string` 字符串的左侧开始提取 `length` 个字符。
例如,以下代码将返回从字符串 `str` 的左侧开始的前三个字符:
```sql
SELECT LEFT(str, 3) FROM sysibm.sysdummy1;
```
总的来说,Oracle 中的 `SUBSTR()` 函数更加灵活,可以指定起始位置和截取长度,而 DB2 中的 `LEFT()` 函数则更加简单明了,只需要指定截取长度即可。
阅读全文