Mysql特殊处理

1.修改某一列的值为字符拼接主键编号

其他数据库:update 表名 set name='项目点'|Id where name='项目点'

Mysql:update 表名set name=CONCAT('项目点',Id) where name ='项目点'

2.in查询时按照in参数的顺序显示数据

SELECT
	* 
FROM
	users 
WHERE
	userId IN ( 74091808107397120, 73867573623521280, 73875597423673344, 74548596397047808 ) 
ORDER BY
	find_in_set( userId, '74091808107397120,73867573623521280,73875597423673344,74548596397047808' )

*需要注意问题: find_in_set中的多个值之间不能有空格,否则不生效

2.时间相关处理(转载)

   date_sub('2016-08-01',interval 1 day) 表示 2016-07-31
   date_sub('2016-08-01',interval 0 day) 表示 2016-08-01
   date_sub('2016-08-01',interval -1 day) 表示 2016-08-02

   date_sub(curdate(),interval 1 day) 表示 2016-07-31
  date_sub(curdate(),interval -1 day) 2016-08-02
  date_sub(curdate(),interval 1 month) 表示 2016-07-01
  date_sub(curdate(),interval -1 month) 表示 2016-09-01
  date_sub(curdate(),interval 1 year) 表示 2015-08-01
  date_sub(curdate(),interval -1 year) 表示 2017-08-01

SELECT NOW(),CURDATE(),CURTIME()

  NOW() CURDATE() CURTIME()
  2016-08-01 16:25:46 2016-08-01 16:25:46

猜你喜欢

转载自blog.csdn.net/sunnyXie1/article/details/81014708