11g以后可以使用 regexp_count:
SELECT REGEXP_COUNT(COLUMN_NAME,',')+1 AS CNT FROM TAB_NAME;
其他版本可以使用如下方式:
方式一:
SELECT LENGTH(REGEXP_REPLACE(COLUMN_NAME,'[^,]'))+1 AS CNT FROM TAB_NAME;
方式二:
SELECT LENGTH(TRANSLATE(STR,','||STR,','))+1 FROM TAB_NAME ;