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;