问题现象:
在工作中遇到需要根据数据库字段是否以某某字段开头进行字段的一些处理
问题分析:
通过查阅资料和学习,总结出来以下几个方法:
1.like关键字
SELECT * FROM car WHERE car.type like '中国%' ; //查询在 car表中 type字段 以 '中国' 开头的记录
SELECT * FROM car WHERE car.type like '%中国' ; //查询在 car表中 type字段 以 '中国' 结尾的记录
2.left()函数
SELECT * FROM car WHERE LEFT(car.type , 2) = '美国' ; //查询在 car表中 type字段 以 '美国' 开头的记录
3.right()函数
SELECT * FROM car WHERE RIGHT(car.type , 2) = '美国' ; //查询在 car表中 type字段 以 '美国' 结尾的记录
4.position()函数
SELECT * FROM car WHERE position( '法国' in car.type ) = 1 ; //查询在 car表中 type字段 以 '法国' 开头的记录
5.strpos()函数
SELECT * FROM car WHERE position( car.type , '德国' ) = 1 ; //查询在 car表中 type字段 以 '德国' 开头的记录
解决方法:
1.like关键字 可以判断 开头 和 结尾
3.right()函数 只能判断 结尾 ,无法判断 开头
2.left()函数 , 4.position()函数 和 5.strpos()函数 只能判断开头, 无法判断结尾