1、首先新建一个用来测试的t_site表,然后随便插入两条数据CREATE TABLE `t_site` ( `id` int(11) NOT 绿覆冗猩NULL AUTO_INCREMENT COMMENT 'ID', `app_id` varchar(32) DEFAULT NULL COMMENT '应用标识', `domain` varchar(50) NOT NULL COMMENT '域名', `site_path` varchar(20) NOT NULL COMMENT '路径', `site_name` varchar(200) NOT NULL COMMENT '名称', `short_name` varchar(20) NOT NULL COMMENT '简短名称', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` timestamp NULL DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`id`), UNIQUE KEY `app_id` (`app_id`)) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='CMS站点表';使用select * from t_site t;语句来查询下,看看测试数据内容
2、left(src, len) 从字符串左边开始截取,截图len长度字符串right(src, len) 从字符串右边开始截取,截图len长度字符串select left(t.site_name, 5) from t_site t;select right(t.site_name, 8) from t_site t;
3、-- substring(str, pos); pos是截取的起点位置,如果pos是负数,则从右侧开始计算位置,和right函数效果差不多select substring(t.site_name, 5) from t_site t;select substring(t.site_name, -8) from t_site t;
4、-- substring(str, pos, len) 方法和上一步差不多,多了一个len,是截取的长度select substring(t.site_name, 5, 6) from t_site t;select substring(t.site_name, -8, 5) from t_site t;
5、-- 字符串截取:substring_index(str,delim,count)-- 截取第3个 '_' 之前的所有字符select substring_index(t.site_name, '_', 3) from t_site t;-- 截取第2个 '_' (倒数)之后的所有字符select substring_index(t.site_name, '_', -2) from t_site t;
6、-- 如果找不到指定的分割字符串,则返回全部select substring_index(t.site_name, '_a', 1) from t_site t;