我是一个资深的mysql开发工程师,我现在有一张表,我要用别名做两次查询,我有个字段path_code,值都是一样的,path_code like concat(path_code,'%') ,为什么查不出数据,
时间: 2024-02-28 22:54:46 浏览: 118
根据你提供的表结构和数据,我猜测你是想使用 path_code 字段的前缀来进行查询,以此查询所有以该前缀开头的记录。在这种情况下,你可以尝试使用如下 SQL 语句:
```
SELECT *
FROM your_table
WHERE path_code LIKE 'your_prefix%'
```
其中,'your_prefix' 是你要查询的 path_code 前缀。如果你想使用变量来替代前缀,可以使用 CONCAT 函数来拼接字符串,如下所示:
```
SELECT *
FROM your_table
WHERE path_code LIKE CONCAT(your_prefix, '%')
```
请注意,这里使用的 CONCAT 函数的参数应该是你要查询的前缀和一个通配符 '%',以便匹配所有以该前缀开头的记录。
至于你提到的查询语句 `path_code LIKE CONCAT(path_code, '%')`,它实际上等同于 `path_code LIKE '%'`,因为在拼接字符串时,path_code 字段会自动重复出现在字符串的开头,这样就无法匹配到任何记录了。
阅读全文