现在的位置: 首页 > 关系型数据库 > SQL基本用法 > 正文

存储过程或数据查询中,用到的函数:截断函数:left,right,substring,trunc;连接函数:concat

时间:2014年01月14日 | 分类:SQL基本用法 | 评论:0 条 | 浏览:5,157 次
1.Mysql字符串截取函数:substring,left,right,substring_index
用法说明:
(1).left:从左开始截取字符串
left(str, length)
说明:left(被截取字段,截取长度)
Ex:select left(time,10) from login_log;
注:这里截取时间长度(从左往右截取)为10:结果会是:2014-01-13
(2).right:从右开始截取字符串
right(str, length)
说明:right(被截取字段,截取长度)
Ex:select right(time,8) from login_log;
注:这里截取时间长度(从右往左截取)为8:结果会是:23:22:10
(3).substring:截取字符串
substring(str, pos)
substring(str, pos, length)
说明:substring(被截取字段,从第几位开始截取)
substring(被截取字段,从第几位开始截取,截取长度)
Ex:select substring(time,6) from login_log;
注:结果为:01-13 23:25:10
select substring(time,6,5) from login_log;
注:结果为:01-13
(4).substring_index:按关键字截取字符串
    substring_index(str,delim,count)
说明:substring_index(被截取字段,关键字,关键字出现的次数)
Ex: select substring_index("blog@123@acv","@",2) from account
注:结果为:blog@123
2.Mysql 日期增加函数:adddate
ADDDATE(时间,INTERVAL 月份或天数)
ADDDATE(时间,天数)
Ex: select adddate('2014-01-13',interval 31 day);
注:结果为:2014-02-13
select adddate('2014-01-13',2);
注:结果为:2014-01-15
select adddate('2014-01-13',-2);
注:结果为:2014-01-11
3.Mysql字符串连接函数:concat
concat(str1,str2,…)
注:返回结果为连接参数产生的字符串.如有任何一个参数为NULL,则返回值为 NULL.
Ex: select concat('kong','zhong');
注:结果为:kongzhong
4.Oracle trunc()函数的用法
**************日期********************
(1).select trunc(sysdate) from dual
结果为:2014-1-13  今天的日期为2014-1-13
(2).select trunc(sysdate, 'mm')   from   dual
结果为:2014-1-1    返回当月第一天
(3).select trunc(sysdate,'yy') from dual
结果为:2014-1-1    返回当年第一天
(4).select trunc(sysdate,'dd') from dual
结果为:2014-1-13      返回当前年月日
(5).select trunc(sysdate,'yyyy') from dual
结果为:2014-1-1    返回当年第一天
(6).select trunc(sysdate,'d') from dual
结果为:2014-1-12  返回当前星期的第一天(默认星期日开始算)
(7).select trunc(sysdate, 'hh') from dual
结果为:2014-1-13 23:00:00   当前时间为 2014-1-13 23:50:00
(8).select trunc(sysdate, 'mi') from dual
结果为:2014-1-13 23:50:00   当前时间为 2014-1-13 23:50:00
注:TRUNC()函数没有秒的精确
***************数字********************
用法:
TRUNC(number,num_digits)
注解:
Number 需要截尾取整的数字
Num_digits 用于指定取整精度的数字,Num_digits 的默认值为 0
TRUNC()函数截取时不进行四舍五入
(1).select trunc(123.458) from dual
结果为:123
(2).select trunc(123.458,0) from dual
结果为:123
(3).select trunc(123.458,1) from dual
结果为:123.4
(4).select trunc(123.458,-1) from dual
结果为:120
(5).select trunc(123.458,-4) from dual
结果为:0
(6).select trunc(123.458,4) from dual
结果为:123.458
(7).select trunc(123) from dual
结果为:123
(8).select trunc(123,1) from dual
结果为:123
(9).select trunc(123,-1) from dual
结果为:120

×