-
Notifications
You must be signed in to change notification settings - Fork 898
Open
Description
| if (exp.Method.Name == "EndsWith") return $"strpos({left}, {args0Value}) = char_length({left})-char_length({args0Value})+1"; |
x.EndsWith("_abcd")在【x】长度恰好等于目标字符串【"_abcd"】长度-1时 会恒返回【true】
| strpos({left}, {args0Value}) | char_length({left}) | char_length({args0Value})) |
|---|---|---|
| 0 | 4 | 5 |
0 = 4 - 5 +1
应改为先判断长度 再计算大小
if (exp.Method.Name == "EndsWith") return $"(char_length ({left})>=char_length ({args0Value}) and strpos({left}, {args0Value}) = char_length({left})-char_length({args0Value})+1)";
鉴于本地只有【PostgreSQL 16.2】环境 无法测试其他环境 从源码看 推测其他环境具有相同的问题
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels