gpt4 book ai didi

c# - 在 c# 的 MySQL 查询中使用文字下划线字符

转载 作者:行者123 更新时间:2023-11-30 23:26:04 25 4
gpt4 key购买 nike

我想从我的 ASP.NET 应用程序向 MySQL 发出此查询

SELECT * FROM responses WHERE field_id LIKE '3\_%'

换句话说,我正在寻找第二个字符是下划线文字字符的记录。

模型设计者生成的代码如下所示:

    public virtual RiskAnalysis.responsesDataTable GetResponseGroupForAnalysis(int raid, string fieldid) {
this.Adapter.SelectCommand = this.CommandCollection[2];
this.Adapter.SelectCommand.Parameters[0].Value = ((int)(raid));
if ((fieldid == null)) {
throw new global::System.ArgumentNullException("fieldid");
}
else {
this.Adapter.SelectCommand.Parameters[1].Value = ((string)(fieldid));
}
RiskAnalysis.responsesDataTable dataTable = new RiskAnalysis.responsesDataTable();
this.Adapter.Fill(dataTable);
return dataTable;
}

如果我这样调用这个函数:

string filter_string = @"3\_%";    
ResponsesAdapter.GetResponseGroupForAnalysis(10, filter_string);

MySQL 日志报告查询如下所示:

SELECT     *
FROM responses
WHERE (ra_id = 10) AND (field_id LIKE '3\\_%')

换句话说,我知道我在这里遗漏了一些非常明显的东西,但是我如何在查询中放置 MySQL 的转义反斜杠而不用 C#(un)帮助转义它?

最佳答案

在标准 SQL 中,您可以使用 ESCAPE 关键字来设置转义字符。

MySQL 在这方面遵循标准 SQL,如 LIKE 谓词文档所述:

像这样:

...

field_id LIKE '3\_%' ESCAPE '\'

这将使通配符 _ 被视为字符串文字。

希望这就是你所问的。

关于c# - 在 c# 的 MySQL 查询中使用文字下划线字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13268907/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com