我正在使用一個Postgres數據庫,其中包含數千個文本字段的歷史人口普查文檔。我正在尋找具有日曆信息的人,我需要做的一件事是找到每個包含四位數字的條目,這幾乎總是意味着某一年。使用SQL來選擇一個字符串包含四位數整數的行
具體來說,我需要能夠選擇條目,其中一個「文本」字段包含其文本中的四位整數,選擇與文本串像行:
「他買下這塊地於1567年,後先前的佔有者已經死亡。「
感謝您的幫助。
我正在使用一個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://stackoverflow.com/help/how-to-ask)並遵循那裏的指導來改進你的問題,並用足夠的代碼和錯誤信息來描述你的問題。 – thewaywewere
謝謝賈森! – gislipals