第11章 使用数据处理函数
使用数据处理函数
3、 select lower(str) 将str中字母转换为小写字母 4、 select upper(str) 将str中字母转换为大写字母
使用数据处理函数
5、 select trim(str)
去掉前后空格
6、 select ltrim(str)
去掉左侧空格
7、 select rtrim(str) 去掉右侧空格
使用数据处理函数
二、日期和时间处理函数
1、now()
返回当前的日期与时间
2、curdate()
返回当前的日期
3、curtime() 返回当前的时间
使用数据处理函数
4、date(时间日期型)
返回日期部分,如date(now())
5、time(时间日期型)
返回时间部分,如time(now())
使用数据处理函数
使用数据处理函数
27、time_to_sec(time)
将时间转换为秒,如
time_to_sec(„01:00:05‟) 结果为3605
28、sec_to_time(seconds)
将秒转换为时间,如
sec_to_time(3605)
结果为 '01:00:05'
使用数据处理函数
29、to_days(date) 将日期转换为相对于公元0000年0月0日的天数,如 to_days(„0000-00-00‟) 结果为0 to_days(„2008-08-08‟) 结果为733627 30、 from_days(days) 将相对于公元0000年0月0日的天数转换为日期,如 from_days(0) 结果为 '0000-00-00„ from_days(733627) 结果为 '2008-08-08'
lpad(“abc”,3,”23”) 30、rpad(str,len,padstr)
结果为
结果为
2abc
abc
返回将padstr填补到str的右侧后的合并串
使用数据处理函数
31、substring_index(str,delim,count)
若count为正值,则返回从左数的第count个分隔符
delim左边的一切内容。若count为负值,则返回从右数的 第count个分隔符delim右边的一切内容。 如,substring_index(“”,“.”,2) 结果为www.aynu substring_index("",".",-2); 结果为
使用数据处理函数
24、period_diff(P1,P2)
函数参数P1、P2表示年月,其格式为 “YYYYMM” 或者 “YYMM”。该函数表示,P1减去 P2后的月份数量。 如,period_diff(“201008”,“201003”) 结果为5, 即表示相差5个月。
使用数据处理函数
25、datediff(date1,date2) 两个日期相减 date1 - date2,返回天数。如 datediff(„2008-08-08‟, „2008-08-01‟) 结果为7 datediff('2008-08-01', '2008-08-08') 结果为-7
使用数据处理函数
20、 select concat(str1,str2,...)
返回结果为连接参数产生的字符串
21、 select concat_ws(separator,str1,str2,...)
代表 CONCAT With Separator ,是CONCAT()的特殊形
式。 第一个参数是其它参数的分隔符。分隔符的位置放
使用数据处理函数
17、weekday(时间日期型) 返回一个日期在一周中是第几天。注意,此函数的 周一是第0天,周二是第1天,……,周日是第6天。如, weekday(now())
dayofweek(时间日期型)的周日是第一天。这种情
况比较符合常规。
使用数据处理函数
18、dayname(时间日期型)
使用数据处理函数
18、 select bin(n)
返回值为n的二进制值的字符串表示。注意,n为一个 数字。 19、 select hex(n) 返回值为n的十六进制的字符串表示。注意,n可以为 数字,也可以为字符。 如, select hex(„a‟) 结果为61 unhex(n) 将十六进制数n当作ASCII,转换为相应的字符,如 Unhex(61) 结果为a
返回指定日期所在星期的英文名称,如
dayname(now()),返回Monday。
19、monthname(时间日期型)
返回指定日期所在月份的英文名称,如
monthname(now()),返回November。
使用数据处理函数
20、last_day(时间日期型)
返回指定日期所在月份的最后一天的日期,
使用数据处理函数
25、 select format(number,n) 将number格式化为形如1,234,567.8456的格式,
并以四舍五入的形式保留小数点后n位
如, select format(12345.23456,4) 的结果为12,345.2346;
26、instr(str,substr)
返回一个长度为len的字符串。其中该串的内容
为padstr填补到str的左侧后的合并串。 如 lpad(“abc”,5,”23”) lpad(“abc”,7,”23”) lpad(“abc”,6,”23”) 结果为 结果为 结果为 23abc 2323abc 232abc
lpad(“abc”,4,”23”)
15、 select replace(str,old,new)
将str中所有old替换为new,并返回替换后的str
使用数据处理函数
16、 select reverse(str)
将str中所有字符反向输出
17、 select ascii(str)
返回字符串str的最左字符的ASCII码值。
select ascii(„ab‟);
在要连接的两个字符串之间。分隔符可以是一个字符串,
也可以是其它参数。如果分隔符为 NULL,则结果为 NULL。
使用数据处理函数
22、 select insert(str,position,len,newstr)
将newstr插入到postion位置,并将从postion位置
开始的len个字符替换掉 如, select insert(„abcde‟,3,2,‟12‟) 结果ab12e select insert(„abcde‟,3,1,‟12‟) 结果ab12de
select insert(„abcde‟,3,3,‟12‟) 结果ab12
使用数据处理函数
23、 select soundex(str)
返回所有与str发音相匹配的字段值
如, select soundex(„see‟) 可以查找出sea。
24、 select char(n1,n2,…)
将n1、n2等ASCII对应的字符组合起来,连成 一个字符串返回
返回字符串 str 中子字符串的第一个出现位置。 这和locate(substr,str)作用相同,只不过参数顺序不同
使用数据处理函数
27、length(str) 返回str的长度,单位为字节
28、oct(number)
返回number的八进制表示的串
使用数据处理函数
29、lpad据处理函数
22、date_sub(时间日期型, interval num type) 返回指定时间日期减去指定时间间隔后的时间日期。
与date_add()类似。
注意,一般情况下,使用该函数,而尽量不使用
subdate()、subtime()函数。
使用数据处理函数
23、period_add(P,N)
函数参数P表示年月,其格式为“YYYYMM” 或
者 “YYMM”,第二个参数N 表示增加或减去的月份数量。 该函数表示,P指定的年月增加或减去N个月后的年月。 如, period_add(“201005”, 3) 结果为201008 period_add(“201005”, -3) 结果为201002
使用数据处理函数
第11章 使用数据处理函数
使用数据处理函数
一、常用文本处理函数
1、select left(str,length) 返回str中左侧长度为length的子串 如, select left(„abcdef‟,3)的结果为abc 2、 select right(str,length) 返回str中右侧长度为length的子串 如, select left(„abcdef‟,3)的结果为def
6、year(时间日期型) 返回日期的年份部分,如year(now())
7、month(时间日期型)
返回日期的月份部分,如month(now()) 8、day(时间日期型) 返回日期的天数部分,如day(now())
使用数据处理函数
9、hour(时间日期型) 返回时间的小时部分,如hour(now())。 10、minute(时间日期型) 返回时间的分钟部分,如minute(now())。 11、second(时间日期型) 返回时间的秒部分,如second(now())。
使用数据处理函数
15、weekofyear(时间日期型)
返回一个日期在一年中处在第几周。如
weekofyear(now()),返回35,则表示当前日期在第35周
16、yearweek(时间日期型)
返回一个日期在一年中处在第几周,但在周数前会
加上年份。如dayofmonth(now()),返回201035
last_day(now())