在ORACLE中,怎么样取把一个字段去掉最后一位,再分组?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在ORACLE中,怎么样取把一个字段去掉最后一位,再分组?相关的知识,希望对你有一定的参考价值。

比如:T1 T2 1 1122X2 25481W3 5421G我想要按T2中的数字(去掉最后一位字符)分组。请问在oracle中’这个语句怎么写?

参考技术A --统计--
SELECT T2,COUNT(*)
FROM (
SELECT T1,
SUBSTR(T2, LENGTH(T2)-1) AS T2
FROM TABLE)
GROUP BY T2;
--显示不同T2的--
SELECT DISTINCT(T2)
FROM (
SELECT T1,
SUBSTR(T2, LENGTH(T2)-1) AS T2
FROM TABLE);
参考技术B 先建立一个包含substring(T2,1,length(T2)-1)的视图
然后再将这个视图group by

oracle查找一个字符串里有字母

oracle 查找一个表中的一个字段,这个字段是除了最后一位是字母外其他中含有字母的,如:
1111111A,22C1111111C,38/////F,这三个查第二个,就是在最后一位之前的字符中有字母的找出来

参考技术A 想到一个最傻的方法,就是先去掉最后一位字符,然后再多个like:
select * from(
select t.*,substr(字段,0,length(字段)-1) as 字段2 from table t
) t1 where t1.字段2 like '%A%'
or t1.字段2 like '%B%'
...
or t1.字段2 like '%Z%'本回答被提问者采纳
参考技术B 如果是10G一样的用正则表达式:
select '满足' from dual where regexp_like(lower(substr(reverse('221c111111C'),2)),'[[:lower:]]1,');
如果是10G以下的,只有自己写函数了。。。

以上是关于在ORACLE中,怎么样取把一个字段去掉最后一位,再分组?的主要内容,如果未能解决你的问题,请参考以下文章

oracle 中 最后一位数字是1就显示0,是9就进位

oracle FM去掉了小数点后的0,怎么去掉小数点?

sql 怎么去掉最后一个字符,请看详细

oracle中怎么去掉某个字段重复数据库

C语言怎么去掉字符串最后一个字符?

sql 怎么去掉头一个字符 博客园