MySQL进阶——多表连查
一. 日期操作
1. 日期增减
日期增加一周
update table_name setdate_add
(old_time,interval
1
week
);
UPDATE goods SET DATE_ADD(crate_time, interval 1 week);
常见日期单位
- 年份(Year) 使用
YEAR
或%Y
格式。- 月份(Month) 使用
MONTH
或%m
格式。- 天(Day) 使用
DAY
或%d
格式。- 小时(Hour) 使用
HOUR
或%H
格式。- 分钟(Minute) 使用
MINUTE
或%i
格式。- 秒(Second) 使用
SECOND
或%s
格式。- 星期几(Weekday)使用
WEEKDAY
或%w
格式,其中星期日为0,星期一为1,以此类推。
日期减少一周
update table_name setdate_sub
(old_time,interval
1
week
);
UPDATE goods SET DATE_SUB(crate_time, interval 1 week);
二. FORMAT格式化
在 MySQL 中,
FORMAT
函数用于格式化数值,并可以指定小数位数和千位分隔符。
FORMAT(number, decimal_places)
其中,number 是需要格式化的数值,decimal_places 是需要保留的小数位数。
SELECT
-- 小数点后保留两位
concat(format((price-cost)/cost*100,2),'%') AS profit,goods_name
FROM
goods order by profit;
三. CONCAT字符串拼接
在 MySQL 中,
CONCAT
函数用于将多个字符串连接在一起。它接受多个字符串作为参数,并按照参数的顺序将它们连接成一个新的字符串。
CONCAT(string1, string2, ...)
其中,string1
、string2
等为要连接的字符串参数,可以是常量字符串、列名或其他表达式。CONCAT
函数会将这些参数依次连接起来,形成一个新的字符串,并返回结果。
SELECT CONCAT('Hello', ' ', 'World'); -- 返回 'Hello World'
SELECT CONCAT('My', 'SQL'); -- 返回 'MySQL'
SELECT CONCAT(column1, ' ', column2) -- 将两个列的值连接起来
FROM table;
还可以使用 CONCAT 函数将字符串与列或表达式进行连接。
SELECT CONCAT('Today is ', DATE_FORMAT(NOW(), '%Y-%m-%d')); -- 将当前日期连接到字符串
SELECT CONCAT(first_name, ' ', last_name) AS full_name -- 将名字和姓氏连接起来
FROM customers;