我找了一個漂亮的equivalient到油滑:有沒有辦法用正則表達式創建一個WHERE子句?
select * from users where last_name ~* '[\w]*son';
因此例如具有在以下數據庫名稱時:
first_name | last_name
----------------------
Tore | Isakson
John | Smith
Solveig | Larsson
Marc | Finnigan
其結果將是
first_name | last_name
----------------------
Tore | Isakson
Solveig | Larsson
我目前的解決方案是用一個SQLActionBuilder插入,如
val pattern = "[\\w]*son"
val action = sql""" SELECT * FROM users WHERE last_name ~* ${pattern}; """.as[User]
但這不是我想要的方式。我寧願像
users.filter(_.last_name matchRegex "[\\w]*son") // <- This does not exist
如果它是相關的:我使用Postgres。