这应该很简单,但我在细节上迷失了......
在数据库字段中,如果字符串包含单词“century”,我想要前一个单词,例如'16'
我一直在尝试使用LOCATE和REVERSE函数,但是无法使它工作。有人可以帮忙吗?
谢谢!
答案 0 :(得分:1)
你可以尝试:
使用substring_index在'世纪'之前返回字符串
使用reverse来反转字符串。
使用substring_index在第一个空格之前返回字符串(可能需要修剪它?)
使用reverse可以再次反转字符串。
答案 1 :(得分:0)
mysql> select substring_index('what century now', 'century', 1); +---------------------------------------------------+ | substring_index('what century now', 'century', 1) | +---------------------------------------------------+ | what | +---------------------------------------------------+ 1 row in set (0.00 sec) mysql> select substring_index('what centuries now', 'century', 1); +-----------------------------------------------------+ | substring_index('what centuries now', 'century', 1) | +-----------------------------------------------------+ | what centuries now | +-----------------------------------------------------+ 1 row in set (0.00 sec) mysql> select substring_index('what century now century', 'century', 1); +-----------------------------------------------------------+ | substring_index('what century now century', 'century', 1) | +-----------------------------------------------------------+ | what | +-----------------------------------------------------------+ 1 row in set (0.00 sec)