SQL 将字符转换为数字

SQL Convert character to numeric

我有一列设置为字符,但用户可以插入数字。

我如何识别字段中的数字长度为 11 而不是字母?

示例:

样本数据{col1= aaaaaaaaaaa,11111122222}

select Col1
from
table
group by 1
having SUM(CHARACTER_LENGTH(Col1))=11

错误输出:aaaaaaaaaa

期望的输出:11111122222

简而言之,我需要检索 char 列中所有可以识别为数字且具有 11 位数字的值。

similar to and character_length():

select * from tablename
where (col similar to '[0-9]+') and character_length(col) = 11

或:

select * from tablename
where col similar to '[0-9]{11}'

参见demo