2017-09-06 81 views
0

我想寫一個postgress sql查詢,在這裏我想選擇所有行,其中一列必須包含以下格式的字符串,我無法構造Postgress的正則表達式,因爲這個數據庫是新的POSTGRES SQL查詢找到所有有一列的行包含數字格式如11位數字 - 4位數

一列包含像PRF這樣的字符串:12345678901-1234像這樣的列值存在,所以將一個sql查詢寫入選擇所有具有這種格式的列值的行,這裏PRF:是常量,它永遠不會改變唯一的變化值是字符串後面:符號,有人可以幫我在這裏。

回答

1

SELECT * FROM your_table WHERE your_column ~ '^[A-Z]{3}:\d{11}-\d{4}$';

~波浪號用於正則表達式的評估,你可以評估該表達式匹配您的需求here

+0

@eorge Daramouskas,感謝它的解決方案。我還有一個疑問,如果該列包含純json,而不是文本行,那麼該怎麼辦?因爲我在另一個存儲json的列上試了這個,請有任何想法 – Bravo

1

你可以嘗試

SELECT * FROM <table> WHERE <column> ~ 'PRF:\d{11}-\d{4}' 

這裏是一個demo

相關問題