--获取当前的database select database(); -- 返回现在的年份 月 日期 select year(now()),month(now()),day(now()) ; -- 坐标中的y值 select y(point(12,333)),x(point(12,333)) ; -- 随机值前者有- 后者无-18位 select uuid(),UUID_SHORT() ; -- 转大写 小写 select UPPER('txxx'),lower('txxx') ; -- 78 十六进制为 4E select HEX(78); -- 去掉空格 select TRIM(' w '); -- 转大写 小写 select ucase('txxx'),LCASE('txxx') ; -- 截取一段 2表示保留小数两位 123.45 -2表示保持百位 100 select truncate(123.456,2),truncate(123.456,-2) ; -- 只对时分秒进行截取 select TIME_FORMAT(now(),'%T') ; -- 时间比较 如果前者大于后者则返回1 否则返回0 select TIMEDIFF(now(),(select enddate from test where id=456))>0 ; -- 返回当前时间 select sysdate(),now() ; -- 按照字面排序如果前者大于后者则返回1 否则返回-1 select strcmp('abc','bcd'); -- 如果为空则返回1 否则返回0 select ISNULL('a') ; --追加 SELECT CONCAT(2,'test'),concat_ws(',','2','test'); -- 类似indexof函数 第一个参数是需要找的字符 第二个是字符串 从1开始 --截取字符串 SELECT SUBSTR('1234',1) ;返回 1234 从一开始算 -- 不是从0开始算 select LOCATE('3','1234') ; -- 返回3 -- group_concat 进行表中的列值进行追加 select id,group_concat(name) from test group by id ; -- 求前一天和后一天的时间 select adddate(now(),-1),adddate(now(),1) ; --类似 to_char方法 date_format(date,'%Y-%m-%d') -------------->oracle中的to_char(); str_to_date(date,'%Y-%m-%d') -------------->oracle中的to_date(); %Y:代表4位的年份 %y:代表2为的年份 %m:代表月, 格式为(01……12) %c:代表月, 格式为(1……12) %d:代表月份中的天数,格式为(00……31) %e:代表月份中的天数, 格式为(0……31) %H:代表小时,格式为(00……23) %k:代表 小时,格式为(0……23) %h: 代表小时,格式为(01……12) %I: 代表小时,格式为(01……12) %l :代表小时,格式为(1……12) %i: 代表分钟, 格式为(00……59) %r:代表 时间,格式为12 小时(hh:mm:ss [AP]M) %T:代表 时间,格式为24 小时(hh:mm:ss) %S:代表 秒,格式为(00……59) %s:代表 秒,格式为(00……59)