[英]How to use WILDCARD using Dapper
如何使用Dapper在postgre DB中使用LIKE通配符? 我有以下代碼:
string query = "SELECT name, index FROM article WHERE prefiks LIKE :prefix ;";
return conn.Query<myModel>(query , new { prefix = searchingValue }).ToArray();
其中searchingValue是一個簡單的字符串。 我嘗試了幾種已經發現的組合:
return conn.Query<myModel>(query , new { prefix = "%" + searchingValue + "%" }).ToArray();
要么
string query = "SELECT name, index FROM article WHERE prefix LIKE '%' || :prefix || '%'"
return conn.Query<myModel>(query , new { prefix = searchingValue }).ToArray();
但是什么都行不通。 我想以上解決方案對MS SQL來說很好,但在postgre下不起作用;
以下應該工作:
string query = "SELECT name, index FROM article WHERE prefiks LIKE :prefix ;";
searchingValue = "%" + searchingValue + "%";
return conn.Query<myModel>(query , new { prefix = searchingValue }).ToArray();
或者簡單地,將連接合並為一行:
return conn.Query<myModel>(query , new { prefix = "%" + searchingValue + "%" }).ToArray();
或者,您可以在SQL本身中使用字符串連接:
string query = "SELECT name, index FROM article WHERE prefiks LIKE CONCAT('%', :prefix, '%') ;";
return conn.Query<myModel>(query , new { prefix = searchingValue }).ToArray();
注意:我不是postgresql專家; 因此您可能需要調整一些語法; 以防萬一。
這個問題討論有關postgresql區分大小寫的問題。 可能會有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.