比如表里有列数据是
----------------————————
ID
————————————————
TEST00011169X
TEST000222P2T
TEST000222NN3
TEST0001113TZ
TEST0002229PQ
在表中间 TEST000 + 中间数字是地名代码 + 随机三位数字 例子中 111代表武汉, 222代表长沙吧
如何在查询后 变成下面这样呢 也就是select ID like '%TEST000111%' 的在address列中增加武汉的记录————————————————
ID | address
————————————————
TEST00011169X | 武汉
TEST000222P2T | 长沙
TEST000222NN3 | 长沙
TEST0001113TZ | 武汉
TEST0002229PQ | 长沙
----------------————————
ID
————————————————
TEST00011169X
TEST000222P2T
TEST000222NN3
TEST0001113TZ
TEST0002229PQ
在表中间 TEST000 + 中间数字是地名代码 + 随机三位数字 例子中 111代表武汉, 222代表长沙吧
如何在查询后 变成下面这样呢 也就是select ID like '%TEST000111%' 的在address列中增加武汉的记录————————————————
ID | address
————————————————
TEST00011169X | 武汉
TEST000222P2T | 长沙
TEST000222NN3 | 长沙
TEST0001113TZ | 武汉
TEST0002229PQ | 长沙
凡是ID里 TEST000111 的 全显示武汉
TEST000222 的 全显示长沙
谢过先, 我照你的试了 ID = 也不成, ID LIKE 也错误。~
+---------------+
| id |
+---------------+
| TEST00011169X |
| TEST000222P2T |
| TEST000222NN3 |
| TEST0001113TZ |
| TEST0002229PQ |
+---------------+
5 rows in set (0.08 sec)mysql> select id,if(mid(id,8,3)='111','武汉','长沙') as address from t_wkres;
+---------------+---------+
| id | address |
+---------------+---------+
| TEST00011169X | 武汉 |
| TEST000222P2T | 长沙 |
| TEST000222NN3 | 长沙 |
| TEST0001113TZ | 武汉 |
| TEST0002229PQ | 长沙 |
+---------------+---------+
5 rows in set (0.03 sec)mysql>
select id,
ELT(FIND_IN_SET(mid(id,8,3),'111,222,333'), '武汉', '长沙', '地方') as address
from t_wkres;