在 PostgreSQL 中,可以通过使用字符串函数如 `string_to_array` 和 `array_length` 来统计一个字段中有几个点(`.`)。
假设我们有一个表 `my_table`,其中有一个字段 `my_column`,我们想要统计这个字段中每个记录的点(`.`)的个数:
SELECT
my_column,
(array_length(string_to_array(my_column, '.'), 1) - 1) AS dot_count
FROM
my_table;
解释:
- `string_to_array(my_column, '.')`:将字段 `my_column` 的值按点(`.`)分割成数组。
- `array_length(array, 1)`:获取数组的长度,第二个参数 `1` 表示获取第一维的长度。
- `array_length(...) - 1`:点的个数等于分割后的数组长度减1。