java知识总结-13
set @aa=77; 定义了一个变量aa 值是77 (用的时候直接@aa)
select 7+8; 进行简单的算术运算
select @aa>78; 进行比较 真是1 假是0
select 66<>55 测试66 是否等于 55 ;
select @aa is not null; 测试变量 aa 是否为空;
seelct @aa in(1,2,3) 测试变量 aa 是否在(1,2,3)中
select 'yyyy' like '%yy_%' 测试两个字符串是否匹配
流程控制:
select 'yyy' regexp '/**/; 测试字符串是否符合正则表达式
select BINARY "a" = "A"; 强制是 a 字符串为二进制字符串 这是一个强制列比较区分大小写的简易方法。
select ifnull(@ww,'is null'); IFNULL(expr1,expr2) 如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2。
>> 向右移位运算 select 4>>2; (<<)
select if(@yy is not null,'not null','is null'); IF(expr1,expr2,expr3) 如果expr1是TRUE(expr1<>0且expr1<>NULL),那么IF()返回expr2,否则它返回expr3
select case @yy when 1 then 'is 1' when 2 then 'is 2' else 'unknow' end; 相当于 Swatch
数学:select abs(-5); 绝对值
SIGN(X) 返回参数的符号,为-1、0或1,取决于X是否是负数、零或正数。
select mod(5,3); 把5 对 3 进行求余 (%同样适用)
*************
FLOOR(X) 返回最大整数值 强制舍
CEILING(X) 返回不小于X的最小整数值。 强制进位
ROUND(X,a) 四舍五入 a 是操作后的小数位数
EXP(X) 返回值e(自然对数的底)的X次方。
LOG(X) 返回X的自然对数
POWER(X,Y) 返回值X的Y次幂。
DAY
SQRT(X) 返回非负数X的平方根。
PI() 返回PI的值(圆周率)。
COS(X) 返回X的余弦, 在这里X以弧度给出。
SIN(X) 返回X的正弦值,在此X以弧度给出。
DEGREES(X) 返回参数X,从弧度变换为角度。
RADIANS(X) 返回参数X,从角度变换为弧度
TRUNCATE(X,D) 返回数字X,截断为D位小数。如果D为0, select truncate(pi(),2);
字符串:ASCII(str) 返回字符串str的最左面字符的ASCII代码值 如果传入字符串,则只返回第一个字符的值
ORD(str) 返回ASCII 值,如果是非ASCII 字符,则通过一定算法返回数字
bin(number) 返回数字的二进制形式
HEX(N) 返回数字的16 进制形式
CHAR(N,...) CHAR()将参数解释为整数并且返回由这些整数的ASCII代码字符组成的一个字符串 null跳过
select CONCAT('My', 'S', 'QL'); 组成一个字符串
length(str) 返回字符串的长度
POSITION(substr IN str) 返回子串substr在字符串str第一个出现的位置(从 1 开始),如果substr不是在str里面,返回0.
LOCATE(substr,str,pos) 返回子串substr在字符串str第一个出现的位置,从位置pos开始。如果substr不是在str里面,返回0。
RPAD(str,len,padstr) 返回字符串str,右面用字符串padstr填补直到str是len个字符长。
LEFT(str,len) 返回字符串str的最左面len个字符。
RIGHT(str,len) 返回字符串str的最右面len个字符。
MID(str,pos,len) 从字符串str返回一个len个字符的子串,从位置pos开始
substring('aaa',1) substring('aaa' from 1) 从字符串位置1 到结尾取出一个子串
MAKE_SET(bits,str1,str2,...) 返回一个集合 (包含由“,”字符分隔的子串组成的一个字符串),由相应的位在bits集合中的的字符串组成。
UPPER(str) -把字符串全部转换为大写字母组成
date 函数:CURRENT_DATE 以'YYYY-MM-DD'或YYYYMMDD格式返回今天日期值,
CURRENT_TIME 以'HH:MM:SS'或HHMMSS格式返回当前时间值,
NOW() /SYSDATE() /CURRENT_TIMESTAMP 以'YYYY-MM-DD HH:MM:SS'返回当前时间
SEC_TO_TIME(seconds) 返回seconds参数,变换成小时、分钟和秒,值以'HH:MM:SS'或HHMMSS格式化,把秒转换为时分秒
TIME_TO_SEC(time) 返回time参数,转换成秒。
***********
DAYOFWEEK(date) select dayofweek('2017-8-9'); 返回日期date的星期索引
UNIX_TIMESTAMP() 返回一个Unix时间戳记(从'1970-01-01 00:00:00'GMT开始的秒数)。
DAYOFMONTH() 返回日期(1-31)
DAYOFYEAR(date) 返回date在一年中的日数, 在1到366范围内。
MONTH(date) 返回date的月份,范围1到12
MONTHNAME(date) 返回date的月份名字。例如:february 二月
QUARTER(date) 返回date一年中的季度,范围1到4。
YEAR(date) 返回date的年份,范围在1000到9999。
HOUR(time) select HOUR('10:05:03'); 返回time的小时,范围是0到23。
MINUTE(time) 返回time的分钟,范围是0到59。
SECOND(time) 回来time的秒数,范围是0到59。
mysql系统函数:IF EXISTS 如果存在
show processlist; 显示所有的连接
KILL thread_id 用KILL thread_id命令杀死一个线程。
select version(); 获得系统版本号
desc describe 显示一张表的信息
select BENCHMARK(1000000,encode("hello","goodbye")); BENCHMARK(count,expr) BENCHMARK()函数重复countTimes次执行表达式expr,它可以用于计时MySQL处理表达式有多快。结果值总是0
# -- /* */ 注释语法 --注释风格要求你在--以后至少有一个空格!
CREATE [AGGREGATE] FUNCTION function_name RETURNS {STRING|REAL|INTEGER}
SONAME shared_library_name
DROP FUNCTION function_name
自定义函数功能