1.字符串处理函数
系统函数:直接调用即可.任何函数都有返回值,函数的调用是通过select调用.因为有返回值,所以只能用select 调用.
Mysql中字符串的操作是以单个字符为单位的
1. substring(原字符串,从那个地方,截取几个); mysql 中下标从1开始算
例如:set @username='你好世界'; --定义一个变量
select substring(@username,1,1); -- 从1位置截取一个字符
2. char_length('@username') 字符长度 4 个
length('@username') 字节长度 12个
3. instr(@usernaem,'好') 查找某个字符在一个字符串的位置 如果找到返回此字符的索引,如果没找到返回0
例如:SELECT INSTR(@username,'好'); 返回2 没有找到返回0
4.lpad (@username,10,'要填充的字符') 左填充:将字符串 按照指定长度填充到旧字符串的左边
例如: select lpad(@username,10,'欢迎'); 注意10个长度算上原来'你好世界'的这4个长度,也就是说欢迎填充了6个
5.rpad 右填充
6.insert 替换字符串
例如: select insert(@username,2,2,'哈哈'); 从第二个字符开始替换两个字符 替换成哈哈
7.strcmp(字符串1,字符串2) 比较两个字符串大小 按照字典顺序去比较
例如: set @a='abc'
set @b='eee';
set @c='Aa' -- 不区分大小写
select strcmp(@a,@b); 返回0
select strcmp(@a,@c); 返回 -1
select strcmp(@c,@a); 返回 1
8.SELECT UPPER('abc') -- 把小写转换成大写
9.SELECT LOWER('ABC') -- 把大写转换成小写
2.日期和时间
获取系统日期: NOW()
格式化日期: DATE_FORMAT(date, format)
注: date:时间字段,format:日期格式
根据format字符串格式化date值:
%S, %s 两位数字形式的秒( 00,01, …, 59)
%I, %i 两位数字形式的分( 00,01, …, 59)
%H 两位数字形式的小时,24 小时(00,01, …, 23)
%h 两位数字形式的小时,12 小时(01,02, …, 12)
%k 数字形式的小时,24 小时(0,1, …, 23)
%l 数字形式的小时,12 小时(1, 2, …, 12)
%T 24 小时的时间形式(hh:mm:ss)
%r 12 小时的时间形式(hh:mm:ss AM 或hh:mm:ss PM)
%p AM或PM
%W 一周中每一天的名称(Sunday, Monday, …, Saturday)
%a 一周中每一天名称的缩写(Sun, Mon, …, Sat)
%d 两位数字表示月中的天数(00, 01,…, 31)
%e 数字形式表示月中的天数(1, 2, …, 31)
%D 英文后缀表示月中的天数(1st, 2nd, 3rd,…)
%w 以数字形式表示周中的天数( 0 = Sunday, 1=Monday, …, 6=Saturday)
%j 以三位数字表示年中的天数( 001, 002, …, 366)
%U 周(0, 1, 52),其中Sunday 为周中的第一天
%u 周(0, 1, 52),其中Monday 为周中的第一天
%M 月名(January, February, …, December)
%b 缩写的月名( January, February,…., December)
%m 两位数字表示的月份(01, 02, …, 12)
%c 数字表示的月份(1, 2, …., 12)
%Y 四位数字表示的年份
%y 两位数字表示的年份
%% 直接值“%”
除了 now() 函数能获得当前的日期时间外,MySQL 中还有下面的函数:
current_timestamp()
current_timestamp
localtime()
localtime
localtimestamp
localtimestamp()
函数:sysdate()
sysdate() 日期时间函数跟 now() 类似,不同之处在于:now() 在执行开始时值就得到了,
sysdate() 在函数执行时动态得到值。
获得当前日期(date)函数:curdate()
下面的两个日期函数等同于 curdate():
- current_date()
- current_date
获得当前时间(time)函数:curtime()
下面的两个时间函数等同于 curtime():
? current_time()
? current_time
获得当前 UTC 日期时间函数:utc_date(), utc_time(), utc_timestamp()
MySQL 日期时间 Extract(选取) 函数。
选取日期时间的各个部分:日期、时间、年、季度、月、日、小时、分钟、秒、微秒
MySQL dayof… 函数:dayofweek(), dayofmonth(), dayofyear()
分别返回日期参数,在一周、一月、一年中的位置。
MySQL week… 函数:week(), weekofyear(), dayofweek(), weekday(), yearweek()
MySQL 返回星期和月份名称函数:dayname(), monthname()
MySQL last_day() 函数:返回月份中的最后一天。
MySQL 为日期增加一个时间间隔:date_add()
MySQL 为日期减去一个时间间隔:date_sub()
MySQL 另类日期函数:period_add(P,N), period_diff(P1,P2)
函数参数“P” 的格式为“YYYYMM” 或者 “YYMM”,第二个参数“N” 表示增加或减去 N month(月)。
MySQL period_add(P,N):日期加/减去N月。
MySQL 日期、时间相减函数:datediff(date1,date2), timediff(time1,time2)
MySQL (时间、秒)转换函数:time_to_sec(time), sec_to_time(seconds)
MySQL (日期、天数)转换函数:to_days(date), from_days(days)
MySQL Str to Date (字符串转换为日期)函数:str_to_date(str, format)
MySQL Date/Time to Str(日期/时间转换为字符串)函数:date_format(date,format), time_format(time,format)
MySQL 获得国家地区时间格式函数:get_format()
|