Learning MySQL:常见的格式化函数
1、常用字符格式函数:
left(...,n):从左边开始的n个字符;right(...,n):从右边开始的n个字符;
trim(...):删除字符串左右两边的空格;ltrim(...):删除字符串左边的空格;rtrim(...):删除字符串右边的空格;
upper(...):将字符变成大写;lower(...):将字符变成小写;
soundex(...):将字符串转变为soundex形式;
length(...):返回字符串中字符个数
栗子:
select left(happiness,4);
select vend_name,length(vend_name) as len_name,soundex(vend_name) as sou_name
from vendors;
select soundex('Beers R s');
看到没有,Beers R s与Bears R us的soundex值是一样的,嘻嘻,所以这函数的作用看出来吧
其他的字符处理函数详见
http://dev.mysql.com/doc/refman/5.6/en/string-functions.html
2、日期与时间处理函数
(1)select curdate():提取当前日期;select curtime():提取当前时间;
(2)year(...):提取年份;month(...):提取月份;该类函数还有week、day、hour、minute、second
(3)datediff(...,...):计算两个日期相隔的天数,即第一个日期-第二个日期;此类函数还有timediff
(4)相加与相减的运算:
select...+ interval n {year/month/day/hour/minute/second}
select date_add(...,interval n {year/month/day/hour/minute/second})
上述两语句作用一致
select...- interval n {year/month/day/hour/minute/second}
select date_sub(...,interval n {year/month/day/hour/minute/second})
举栗子:
select curdate();
select month(order_date) from orders;
select datediff('2008-12-31','2008-01-01');
select '2008-01-01' + interval 99 day;
select date_add('2008-1-1',interval 99 day);
select '2008-4-9' - interval 99 day;
select datesub('2008-4-9',interval 99 day);
哎呦妈呀,写得好繁琐,受不了自己了
更多时间函数见http://dev.mysql.com/doc/refman/5.6/en/date-and-time-functions.html#function_timediff
left(...,n):从左边开始的n个字符;right(...,n):从右边开始的n个字符;
trim(...):删除字符串左右两边的空格;ltrim(...):删除字符串左边的空格;rtrim(...):删除字符串右边的空格;
upper(...):将字符变成大写;lower(...):将字符变成小写;
soundex(...):将字符串转变为soundex形式;
length(...):返回字符串中字符个数
栗子:
select left(happiness,4);
![]() |
select vend_name,length(vend_name) as len_name,soundex(vend_name) as sou_name
from vendors;
![]() |
select soundex('Beers R s');
![]() |
看到没有,Beers R s与Bears R us的soundex值是一样的,嘻嘻,所以这函数的作用看出来吧
其他的字符处理函数详见
http://dev.mysql.com/doc/refman/5.6/en/string-functions.html
2、日期与时间处理函数
(1)select curdate():提取当前日期;select curtime():提取当前时间;
(2)year(...):提取年份;month(...):提取月份;该类函数还有week、day、hour、minute、second
(3)datediff(...,...):计算两个日期相隔的天数,即第一个日期-第二个日期;此类函数还有timediff
(4)相加与相减的运算:
select...+ interval n {year/month/day/hour/minute/second}
select date_add(...,interval n {year/month/day/hour/minute/second})
上述两语句作用一致
select...- interval n {year/month/day/hour/minute/second}
select date_sub(...,interval n {year/month/day/hour/minute/second})
举栗子:
select curdate();
![]() |
select month(order_date) from orders;
![]() |
select datediff('2008-12-31','2008-01-01');
![]() |
select '2008-01-01' + interval 99 day;
![]() |
select date_add('2008-1-1',interval 99 day);
![]() |
select '2008-4-9' - interval 99 day;
![]() |
select datesub('2008-4-9',interval 99 day);
![]() |
哎呦妈呀,写得好繁琐,受不了自己了
更多时间函数见http://dev.mysql.com/doc/refman/5.6/en/date-and-time-functions.html#function_timediff