select子句使用substring作为WHERE条件

时间:2017-03-28 02:04:52

标签: mysql sql

如何从tableA中选择*,条件如下:

表A:

|**Col A**  | **Col B** |
| Hello| 9*9 |
| World| 2*2 |
| Cat | 11*11 |

在哪里Col B包含与'9 * 9'相同的数字。

Col B是varchar(100)。

我在想MAYBE使用subString作为条件:

Substring(1)= SubString(3)......但它没有成功。还有其他解决办法吗?

2 个答案:

答案 0 :(得分:1)

select * from tableA
WHERE left(col_b, charindex('*', col_b) - 1) = right(col_b, len(col_b) - charindex('*', col_b))

我认为这就是您所需要的leftrightcharindex

答案 1 :(得分:0)

检查字符串是否等于其第一部分加上'*'再加上其第一部分:

colb = concat(left(colb,length(colb)/2-1),'*',left(colb,length(colb)/2-1))