gpt4 book ai didi

mysql转义顺序和操作顺序

转载 作者:行者123 更新时间:2023-11-29 07:11:36 25 4
gpt4 key购买 nike

我在一个包含值的表上运行查询,一些形式为“jsFunc('H:\\directory\\subdir\\whatever.ext')”,其他形式为“jsFunc('\\\\ServerName\\directory\\subdir\\whatever.ext')"以及许多其他随机字符串项。

我想选择格式为“H:\\directory\\subdir”的任何内容

这是我的查询...

SET @s = 'H:\\\\directory';
SELECT * FROM 'db'.'table' WHERE column LIKE CONCAT('%',@s,'%')

没有结果。我在没有变量/concat 的情况下尝试过。

有些值(value)观会产生结果,有些则不会(但我觉得它们应该)

@s = 'H:';              /*   returned rows*/
@s = 'H:\\'; /*no returned rows*/
@s = 'H:\\\\'; /* returned rows*/
@s = 'H:\\\\directory'; /*no returned rows*/

@s = '\\\\directory'; /* returned rows*/
@s = '\\\\directory\\\\subdir'; /*no returned rows*/

/* and worse of all... */

@s = 'H:\\\\directory\\\\subdir'; /*no returned rows. these are the rows I want*/

起初我认为转义操作的顺序可能会导致问题,因此连接 '%' 以确保它们没有被转义,但似乎没有区别。这里是否存在某种我想念的逃避巫术?

最佳答案

你应该做 @s = 'H:\\';选择@s;
然后你会意识到你需要双重+双重转义才能实现类似的搜索
字符串 H:\\=> H:\\\\\\\\

关于mysql转义顺序和操作顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4150758/

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