Postgresql
Postgresql 在文本中搜尋 6 位數字
我有一個包含一個欄位地址的表 - varchar(250),是否可以在該欄位中搜尋 6 位(整數)Pincode。是否也可以列出沒有任何 12 位密碼的記錄。
Sl No | Address 1 | "16/127, Off M G Road, Goregaon (west) Mumbai, Maharashtra, 400062 02228744298" 2 | "113, 113,ragiptblr-2, Ragi Pet Bangalore, Karnataka, 560002 2229218" 3 | "2, 2, Panchal Estate, Bapunagar Ahmedabad, Gujarat, 380024 079227401432nd Flr, B Wing, Jay Chamber, Service Rd, Near Telephone Exchange, Vile Parle (east) Mumbai, Maharashtra, 400057 02226104168" 4 | "New#27, Gopalakrishna Street, T Nagar Chennai, Tamil Nadu, 600017 04428150211" 5 | "9360 61/8, Multani Dhanda, Pahar Ganj Delhi, Delhi, 110055 01123550815" 6 | "113, 113,ragiptblr-2, Ragi Pet Bangalore, Karnataka, 2229218" 7 | "9360 61/8, Multani Dhanda, Pahar Ganj Delhi, Delhi, 01123550815"
你想要這樣的東西(參見這裡的小提琴工作範例https://dbfiddle.uk/?rdbms=postgres_13&fiddle=597791c50d76e6e279b3318abe573acf):
select substring(address from ' \d{6} ') as sstr where address ~ '\d{12}"';
您的輸入數據似乎存在一些問題。記錄號 3 似乎連接了 2 條記錄。我假設這是一個錯字!
請原諒這個答案的質量不佳 - 我在公共汽車上使用質量很差的平板電腦(下週一將其退回亞馬遜)。我回家後會把它清理乾淨!