我需要一个类似这样的查询
UPDATE myTableName SET status = 0 WHERE type ( type contains last character = x)
E.g类型值可以是
ABCD9238
ADA323S
需要检测第二个值。
答案 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%"
如果角色位于最后位置,您应该删除最后一个"%"
它不仅可以用于字符串,而且可以用于字符串。