SQL将字符转换为数字

时间:2019-11-12 16:31:37

标签: sql firebird

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

如何确定字段的数字长度为11而不是字母?

示例:

样本数据{col1= aaaaaaaaaaa,11111122222}

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

错误的输出:aaaaaaaaaa

所需的输出:11111122222

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

1 个答案:

答案 0 :(得分:2)

使用similar tocharacter_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