- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 postgres crate,它使用 postgres::Connection
进行查询。我根据 ilike '%search_string%'
表达式中的字符串值查询表:
extern crate postgres;
use std::error::Error;
//DB Create queries
/*
CREATE TABLE TestTable (
Id SERIAL primary key,
_Text varchar(50000) NOT NULL
);
insert into TestTable (_Text) values ('test1');
insert into TestTable (_Text) values ('test1');
*/
fn main() -> Result<(), Box<dyn Error>> {
let conn = postgres::Connection::connect(
"postgres://postgres:postgres@localhost:5432/notes_server",
postgres::TlsMode::None,
)?;
let text = "test";
// //Does not work
// let query = &conn.query(
// "
// select * from TestTable where _text ilike '%$1%'
// ",
// &[&text],
// )?;
//Works fine
let query = &conn.query(
"
select * from TestTable where Id = $1
",
&[&1],
)?;
println!("Rows returned: {}", query.iter().count());
Ok(())
}
如果我取消注释代码的 //Does not work part
,我将收到以下错误:
thread 'main' panicked at 'expected 0 parameters but got 1'
它似乎无法识别 ilike
表达式中包含的 $1
参数。我试过转义单引号,但这并没有改变它。
唯一的依赖是:
postgres = { version = "0.15.2", features = ["with-chrono"] }
最佳答案
令我惊讶的是,修复方法如下:
let text = "%test%";
let query = &conn.query(
"
select * from TestTable where _text like $1
",&[&text],
)?;
显然 postgres 函数知道在这种情况下在字符串周围添加单引号。
我是从这里了解到的:https://www.reddit.com/r/rust/comments/8ltad7/horrible_quote_escaping_conundrum_any_ideas_on/
关于postgresql - 与 postgres crate 的查询函数一起使用时,ilike 表达式中的 "$1"参数是否需要转义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66126558/
我想通过匹配名字和姓氏字段来搜索用户。 在普通 SQL 中我会这样做: SELECT * FROM user WHERE (first_name ILIKE 'pattern') OR (last_n
我在 amazon redshift 中运行了以下三个查询: select count(*) from t1 计数为 1554。 select count(*) from t1 where
在 PostgreSQL 中,您可以使用 ILIKE 执行不区分大小写的查询: select * from test where value ilike 'half is 50$%' escape '
以下两个查询组件的性能比较如何? 点赞 ... LOWER(description) LIKE '%abcde%' ... 我喜欢 ... description iLIKE '%abcde%' ..
我有一个 Users 表,其中包含一个包含用户全名的 name 字段。 我编写了一个搜索功能,应该允许通过名字或姓氏查找用户,但它只返回名字的结果。 例如,如果我有一个用户:user.name = '
是否有一种简单的临时方式来执行 ILIKE查询表的所有文本列? 我知道有一个包含“foobar”的单元格。但是该表有很多列并且只有 50k 行,因此搜索所有列和行应该很快。 最佳答案 我给你这个查询是
假设我有一些子查询返回的字符串数组。我想确保至少有一个元素与字符串匹配(例如:ILIKE "%alex%")。我该怎么做? 我的代码: ANY(ARRAY["Alexander", "Michael"
我正在尝试在 Sequelize 中执行以下等效查询 SELECT * FROM users u WHERE concat('%', u.name, '%', u.surname,'%') ILIKE
我需要做一个查询来搜索以 'Nome % teste\/' 作为前缀的文本。我正在使用以下方法进行查询: where "name"ILIKE 'Nome a% teste\/%' ESCAPE 'a'
我正在尝试使用 ILIKE 查询 PostgreSQL 中的用户名。有 first_name 和 last_name 的列,我希望搜索词与两个串联的词相匹配,中间有一个空格,以便用户可以使用一个输入搜
因此,我尝试通过比较旧标题并将其更新为新标题来使用用户输入的新事件标题更新日历。这是代码 $result = pg_prepare($conn, "event_update", "UPDATE cal
我有一个 people 表,其中 body 列作为 jsonb 类型。 Table "public.people"
我有一个包含多个测试字段的查询,如下所示: SELECT * FROM some-table WHERE field1 ILIKE "%thing%" OR field2 ILIKE "
这是 Postgresql 9.2.4 上的设置: CREATE TABLE table ( id integer NOT NULL, some_text text ); 现在我们输入
我有一个这样的查询,它返回与给定查询匹配的文本行: SELECT content FROM messages WHERE created_at >= '2021-07-24T20:17:18.14
我写了一个finder如下: @cars = @cars.joins(:manufacturers).where("manufacturers.name ILIKE ?", params[:manuf
我有这 3 列: 当我使用这个查询时: SELECT "code", "desc", "lt_status_uuid" FROM "product_info" WHERE "lt_status_uui
在 PostgreSQL 9 中使用 LIKE/ILIKE 运算符时,是否可以匹配单词边界而不必使用完整的 ~ 运算符正则表达式? 例如 SELECT 'Super fast training' IL
我的应用程序有一个页面,其中显示了以特定字母开头的州的所有城市。 例如: State: Alabama, Page A --> All cities in Alabama starting with
我必须选择表(我们称之为 mytable)中给定列(我们称之为 mycolumn)中的值为 不等于“A”且不等于“S”。 所以我尝试了类似的东西 SELECT * FROM mytable WHERE
我是一名优秀的程序员,十分优秀!