根据mysql有什么函数可以根据地市名返回省名吗?例如 镇江 返回 江苏
MySQL中没有内置函数可以根据地市名返回省名,你可以建一张表,字段城市、省。使用的时候匹配城市,返回省。或者自定义函数实现。
例如:
DELIMITER $$
CREATE FUNCTION get_province(city_name VARCHAR(255))
RETURNS VARCHAR(255)
BEGIN
DECLARE province VARCHAR(255);
SELECT SUBSTRING_INDEX(city_name, ' ', 1) INTO province;
RETURN province;
END$$
DELIMITER ;
你这个问题不是很奇怪吗?返回字段不是通过函数,而是根据你有什么表来的
今天在查看数据库备份情况的时候,发现数据库无法完成备份
Slave_IO_Running: Yes
Slave_SQL_Running: no
经过检查发现是数据表大小写问题
因为mysql有对表名大小写敏感设置,需要优化mysql配置。
1、修改 /etc/my.cnf配置文件;
# vim /etc/my.cnf
2、在[mysqld]下,加入一行参数 :
lower_case_table_names=1
3、重启MySQL即可;
# systemctl restart mysql
LEFT() 函数会返回城市名 city 的左侧两个字符,作为省名 province
SELECT LEFT(city, 2) AS province
FROM city_table
WHERE city = '镇江'
也可以用SUBSTR() 函数会返回城市名 city 从位置 1 开始的两个字符,作为省名 province
SELECT SUBSTR(city, 1, 2) AS province
FROM city_table
WHERE city = '镇江'