php和mysql两种不同方式的分割字符串和类型转换
生活随笔
收集整理的這篇文章主要介紹了
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;
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;
?
轉載于:https://www.cnblogs.com/yidoucai/p/6419633.html
總結
以上是生活随笔為你收集整理的php和mysql两种不同方式的分割字符串和类型转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IO流的练习5 —— 读取文件中的字符串
- 下一篇: 查询同一表内多字段同时重复记录的SQL语