[b][size=medium][color=green]数据库尺寸为 100*200 字符串类型,对尺寸名称排序
比如我的列名叫 CREATIVE_SIZE
ORDER BY CAST(SUBSTRING_INDEX(CREATIVE_SIZE, "x", 1) AS SIGNED INTEGER),
CAST(SUBSTRING_INDEX(CREATIVE_SIZE,"x",-1) AS SIGNED INTEGER)
结合SUBSTRING_INDEX,CAST函数
最近老是碰到要处理数据库中字符串的处理,发现用来用去也就是这两个函数:
1、substring_index(str,delim,count)
str:要处理的字符串
delim:分隔符
count:计数
例子:str=www.google.com
substring_index(str,'.',1)
结果是:www
substring_index(str,'.',2)
结果是:www.google
也就是说,如果count是正数,那么就是从左往右数,第N个分隔符的左边的全部内容
相反,如果是负数,那么就是从右边开始数,第N个分隔符右边的所有内容,如:
substring_index(str,'.',-2)
结果为:google.com
有人会为,如果我呀中间的的google怎么办?
很简单的,两个方向:
1、从右数第二个分隔符的右边全部,再从左数的第一个分隔符的左边:
substring_index(substring_index(str,'.',-2),‘.’,1);
2、你懂得!
[/color][/size][/b]
比如我的列名叫 CREATIVE_SIZE
ORDER BY CAST(SUBSTRING_INDEX(CREATIVE_SIZE, "x", 1) AS SIGNED INTEGER),
CAST(SUBSTRING_INDEX(CREATIVE_SIZE,"x",-1) AS SIGNED INTEGER)
结合SUBSTRING_INDEX,CAST函数
最近老是碰到要处理数据库中字符串的处理,发现用来用去也就是这两个函数:
1、substring_index(str,delim,count)
str:要处理的字符串
delim:分隔符
count:计数
例子:str=www.google.com
substring_index(str,'.',1)
结果是:www
substring_index(str,'.',2)
结果是:www.google
也就是说,如果count是正数,那么就是从左往右数,第N个分隔符的左边的全部内容
相反,如果是负数,那么就是从右边开始数,第N个分隔符右边的所有内容,如:
substring_index(str,'.',-2)
结果为:google.com
有人会为,如果我呀中间的的google怎么办?
很简单的,两个方向:
1、从右数第二个分隔符的右边全部,再从左数的第一个分隔符的左边:
substring_index(substring_index(str,'.',-2),‘.’,1);
2、你懂得!
[/color][/size][/b]