CONCAT 可以把多个字符串连在一起, 如把 doc_id 和 title 这两个字段的查询结果组合成一个字符串:
SELECT CONCAT(doc_id,title) FROM simhash;
CONCAT_WS 可以用指定的分隔符把多个字符串连接在一起, 第一个参数为连接符, 剩下的是字符串, 如:
SELECT CONCAT_WS('-',doc_id,title) FROM simhash; doc_id 和 title 中间会用 - 隔开
FORMAT()可以把数字格式化为字符串, 第一个参数是要格式化的数字, 第二个参数为保留小数点后多少位.
LOWER()把一个字符串所有字母转成小写, UPPER()把字符串所有字母转成大写
LEFT()是取一个字符串的前几位, 第一个参数是字符串, 第二个参数是取前多少个字符. RIGHT()同理
LENGTH()获取字符串长度, LTRIM(), RTRIM(), TRIM() 分别是删除前面的空格, 后面的空格以及前后的空格.
REPLACE()替换字符串, 第一个参数是字符串, 第二个参数是被替换的字符串, 第三个参数是新字符串(可以用多个字符替换多个字符)
SUBSTRING()截取字符串, 第一个 参数是需要截取的字符串, 第二个参数是从第几个字符开始截(MySQL 从 1 开始, 没有 0), 第三个参数是截几个
CEIL() 向上取整, FLOOR()向下取整, DIV()整数除法 (舍弃小数位), MOD() 取余, POWER()幂运算 ROUND()四舍五入, TRUNCATE 数字截取
NOW()当前日期和时间, CURDATE()当前日期, CURTIME()当前时间, DATE_ADD()时间增加或减少, 如 DATE_ADD(NOW(),INTERVAL 1 MONTH) 代表当前时间加上 1 个月, DATEDIFF()计算两个日期的差值, DATE_FORMAT()日期格式化, 第一个参数是需要格式化的日期第二个参数是格式化样式, 如 SELECT date_format(now(),'%Y-%m-%d %H:%m:%s')
聚合函数: AVG()平均数, COUNT()总数, MAX()最大值, MIN()最小值, SUM()求和
加密函数: MD5(), PASSWORD()
declare 声明的变量是局部变量, 只能在存储过程中或函数中使用, 变量以 @开头, 用 set 声明的, 如 set @a = 1, 这种变量是会话变量, 对一个会话都有效.
典型函数主体写法: declare 定义局部变量, set 赋值, while xxx do end while 是循环语句, if xxx then end if 是判断语句
- BEGIN
- declare dis int;
- declare i int;
- set dis = 0;
- set i = 0;
- while i <64 do
- if(new_num>> i & 1) != (old_num>> i & 1) then
- set dis = dis + 1;
- end if;
- set i = i + 1;
- end while;
- RETURN dis;
- END
来源: http://www.bubuko.com/infodetail-2825318.html