php和mysql两种不同方式的分割字符串和类型转换

一.sql语句
1.分割字符串方法:
substring_index(字符串,'分隔符',正数从左数起几位/负数从右数起几位);

例如:subtring_index('aa_bb_cc_dd','_',1);
分割成 aa bb cc dd,
第三个参数表示分割后的字符串段数的位,若为1,表示aa,
2,aa_bb
-1,dd
-2,cc_dd
-3 bb_cc_
(注意,大于等于2返回的结果带着分隔符,这是一个弊端)

2.CAST方法
CAST (类型1 AS 类型2)
转换数据类型,后者必须是前者可以正确转换的
类型1,如字符串varchar '12' 可转 类型2如整型signed(就是int类型)
但'12.5' 不可转整形signed ,可转 decimal(8,1)

2.1 若为日期类型,则可以使用convert(A,B)方法
由A类型日期, 转为 其他B类型日期

/*
*
* 实例运用
*/

创表,插入数据
CREATE TABLE person ( order_id VARCHAR(20), order_name VARCHAR(50) );
INSERT INTO `person` (order_id,order_name) VALUES ('id_2','猪');
INSERT INTO `person` (order_id,order_name) VALUES ('id_11','狗');

查看数据
SLECT * FROM PERSON;

// MYSQL 语句
SELECT MAX(CAST(SUBSTRING_INDEX(order_id,'_',-1) AS SIGNED)) AS order_id from person;
返回最大的值11;

 

posted @ 2017-04-10 16:14  一斗才  阅读(709)  评论(0编辑  收藏  举报