相关疑难解决方法(0)

等于(=)与LIKE

使用SQL时,=WHERE子句中使用而不是LIKE

没有任何特殊的操作员,LIKE并且=是一样的,对吧?

sql performance equals sql-like

268
推荐指数
10
解决办法
29万
查看次数

SQL:如何执行字符串不等于

我有以下查询

SELECT * FROM table
WHERE tester <> 'username';
Run Code Online (Sandbox Code Playgroud)

我希望这能返回测试仪不是字符串的所有结果username,但这不起作用.我想我正在寻找Like操作员的反转,但我不确定?在我的搜索中,我找到了数字的解决方案(这是我从<>开始的地方),但这似乎不适用于字符串.

mysql

104
推荐指数
5
解决办法
20万
查看次数

带/不带参数的性能问题

我有一些性能问题.

我有一张大约200万行的表.

CREATE TABLE [dbo].[M8](
    [M8_ID] [int] IDENTITY(1,1) NOT NULL,
    [APPLIC] [char](8) NOT NULL,
    [NIVALERTE] [numeric](1, 0) NOT NULL,
    [LOGDH] [datetime2](7) NULL,
    [USERX] [char](20) NOT NULL,
    [TACHE] [char](3) NOT NULL,
    [PRG] [char](32) NOT NULL,
    [DOS] [numeric](3, 0) NOT NULL,
    [ERRNUM] [numeric](5, 0) NOT NULL,
    [LOGTXT] [char](200) NOT NULL)
Run Code Online (Sandbox Code Playgroud)

我用C#和ADO.NET阅读它们

在管理工作室(SQL Server 2008 R2)中,使用该查询:

SELECT 
    M8.M8_ID, M8.APPLIC, M8.NIVALERTE, M8.LOGDH, M8.USERX, M8.TACHE, 
    M8.PRG, M8.DOS, M8.ERRNUM, M8.LOGTXT
FROM 
    M8 AS M8 WITH(NOLOCK) 
WHERE 
    ((M8.APPLIC LIKE 'DAV' ) )
ORDER BY 
    M8.LOGDH DESC, M8.M8_ID …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server performance

4
推荐指数
1
解决办法
297
查看次数

Flask-SQLAlchemy'OR'查询具有可变数量的参数

我有一个高级搜索界面,它将key:value对发送到我的flask应用程序.关键是要搜索的表中的列,值是要比较的条件.

下面是项目的示例查询,其中k是Projects表中的'tags'列,v是要搜索的标记.

projects = Projects.query.filter(getattr(Projects, k).like('%{}%'.format(v)))
Run Code Online (Sandbox Code Playgroud)

如果用户提交两个要搜索的标记,则v将是两个标记的列表.然后,我可以像这样查询数据库:

if len(v) == 2:
    v1, v2 = v[0], v[1]
    projects = Projects.query.filter(or_(
        getattr(Projects, k).like('%{}%'.format(v1)),
        getattr(Projects, k).like('%{}%'.format(v2)))
    )
Run Code Online (Sandbox Code Playgroud)

是否有更好的方法来执行"OR"查询,其中标记的数量(在此示例中)是可变的?

如何编写代码以便它可以处理2个标签或10个标签?

python sqlalchemy flask flask-sqlalchemy

1
推荐指数
1
解决办法
2452
查看次数