(提示:查阅SUBSTR、LENGTH、REVERSE、LOCATE等函数用法)有一个表A,其中有一个字段a,字段a的值,是通过’下别线】,连接多个学符中而组的类子如下只家三条目录) 'ABC_1234_CDE' 'ABC_1234_CDE_567' 'ABC_1234_CDE_7B9 GH' 请写出SQL求出字段最后一个下划线面的内容(则上而三条记录分下的结 'ABC_1234' 'ABC_1234_CDE' 'ABC_1234_CDE_789'
时间: 2024-03-31 12:37:03 浏览: 399
可以使用 SUBSTR 和 REVERSE 函数来获取最后一个下划线前面的内容,即先将字段 a 反转后再查找第一个下划线,然后再将结果反转回来。SQL语句如下:
SELECT REVERSE(SUBSTR(REVERSE(a), 1, LOCATE('_', REVERSE(a))-1)) AS last_part FROM A;
其中,REVERSE 函数用于将字段 a 倒序排列,然后 LOCATE 函数查找倒序后的第一个下划线的位置,SUBSTR 函数获取倒序后的下划线前面的内容,最后再将结果反转回来。执行以上 SQL 语句,将会返回如下结果:
last_part
---------
CDE
567
7B9 GH
相关问题
sql: substr函数用法
substr()函数是用来截取数据库某个字段中的一部分的。它的语法是substr(string,start,length)。其中,string参数表示需要截取的字段,start参数表示从字符串的指定位置开始截取,length参数表示需要截取的长度。如果必选参数为空,那么返回的结果也为空。在不同的数据库中,substr()函数的名称略有差异,比如在MySQL中是substr()或substring(),在Oracle中是substr(),在SQL Server中是substring()。请注意,substr()函数用于截取字符串的内容,而与之相比,instr()函数是用于截取的字符串在源字符串中的位置。
hive 查看a字段出现在B字段的函数
在 Hive 中,你可以使用内置的函数 `instr(str, substr)` 来判断一个字符串是否包含另一个字符串。为了查看字段 A 出现在字段 B 中的记录,你可以使用以下 Hive 查询语句:
```sql
SELECT *
FROM your_table
WHERE instr(B, A) > 0;
```
这将返回所有字段 B 中包含字段 A 的记录。请替换 `your_table` 为你的表名,`A` 和 `B` 为你要比较的字段名。
阅读全文