MySQL创建计算字段及基本函数

2019-07-03 17:23:26 浏览数 (1)

1.拼接字段:

将多个值联结到一起构成单个值。mysql使用concat()函数。

其他DBMS数据库可能使用 或者||来实现拼接。

select concat(vend_name,'(',vend_country,')') from vendors order by vend_name;

也可以使用别名来优化显示:

select concat(vend_name,'(',vend_country,')') as vend_title from vendors order by vend_name;

2.执行算数运算:

select prod_id, quantity, item_price, quantity*item_price as expanded_price from orderitems where order_num=20005;

3.文本处理函数:

--Left() 返回字符串左边的字符

--Right()返回字符串右边的字符

--RTrim()去除列值右边的空格

--LTrim()去除列值左边的空格

--Lower()将字符串转化为小写

--Upper()将字符串转化为大写

--Length()返回字符串的长度

--Locate(‘abc’,'dingabcwei')返回字符串的字串在字符串中第一次出现的位置

--Soundex()返回串的近似音值

--Substring('ding123wei',3)返回子串的字符

4.日期处理函数:

mysql中日期格式最好为yyyy--mm-dd(2018-05-21)。

Adddate()增加一个日期

Addtime()增加一个时间

Curdate()返回当前日期

Curdate()返回当前时间

Date()返回一个时间的日期部分

Datediff()计算两个日期只差

Date_add()加上一个天数的日期

Dayofweek(),weekday(),dayname()三种星期的计算方法,注意区别。

Hour(),Minute(),Month(),Now(),second(),Time(),Year()

例如,检索出2009年9月的所有订单,可以用:

select cust_id, order_num from orders where Year (order_date)=2005 and Month(order_date)=9;

5.汇总函数:

Avg()

Exp()

Mod()

Rand()

sin(), cos(), sqrt(), tan(), abs()

count(column)只对列中有值的才计数

count(*)不管控值还是非空都会计数

6.分组函数group by:

select vend_id, count(*) as num_prods from products group by vend_id order by vend_id;

group by 位置在where之后,order by 之前。

having 过滤分组,类似于where。

select vend_id, count(*) as num_prods from products group by vend_id having num_prods>2 order by vend_id;

0 人点赞