使用SQL来选择一个字符串包含四位数整数的行
问题描述:
我正在使用一个Postgres数据库,其中包含数千个文本字段的历史人口普查文档。我正在寻找具有日历信息的人,我需要做的一件事是找到每个包含四位数字的条目,这几乎总是意味着某一年。使用SQL来选择一个字符串包含四位数整数的行
具体来说,我需要能够选择条目,其中一个“文本”字段包含其文本中的四位整数,选择与文本串像行:
“他买下这块地于1567年,后先前的占有者已经死亡。“
感谢您的帮助。
答
如果您将数字存储为字符串,则可以使用正则表达式。
select *
from the_table
where the_text_column ~ '^[0-9]{4}$'
此找到所有行the_text_column
包含正好四位
也许这个链接可以帮助你找到答案。 https://www.postgresql.org/docs/9.5/static/functions-matching.html – Jason
欢迎来到SO。请阅读这个[how-to-ask](http://*.com/help/how-to-ask)并遵循那里的指导来改进你的问题,并用足够的代码和错误信息来描述你的问题。 – thewaywewere
谢谢贾森! – gislipals