使用数据库中值类型的子字符串更新MySQL查询

时间:2015-03-23 09:28:31

标签: php mysql

我需要一个类似这样的查询

UPDATE myTableName SET status = 0 WHERE type ( type contains last character = x)

E.g类型值可以是

ABCD9238
ADA323S

需要检测第二个值。

3 个答案:

答案 0 :(得分:1)

您可以将right功能用作

mysql>  select right('ABCD9238', 1);
+----------------------+
| right('ABCD9238', 1) |
+----------------------+
| 8                    |
+----------------------+
1 row in set (0.00 sec)

mysql>  select right('ADA323S', 1);
+---------------------+
| right('ADA323S', 1) |
+---------------------+
| S                   |
+---------------------+
1 row in set (0.00 sec)

因此,如果您要查找最后一个字符S,那么您可以使用

UPDATE myTableName SET status = 0 WHERE right(type,1) = 'S'

答案 1 :(得分:0)

您可以使用子串函数

http://www.w3resource.com/mysql/string-functions/mysql-substring-function.php

最后的第二个字符

UPDATE myTableName SET status = 0 WHERE substring(type,-2,1) = x

最后一个字符

UPDATE myTableName SET status = 0 WHERE substring(type,-1) = x

答案 2 :(得分:0)

如果我了解您的要求,您需要知道某个字符是否在列中"键入"。

如果是这样,你可以使用LIKE语句。

UPDATE myTableName SET status = 0 WHERE type LIKE "%CHARACTER_YOU_WANT_TO_CHECK%"

如果角色位于最后位置,您应该删除最后一个"%"

它不仅可以用于字符串,而且可以用于字符串。