mysql 时间方法总结
来源:互联网 发布:linux进入grub界面 编辑:程序博客网 时间:2024/05/18 17:40
1.MAKEDATE(year, dayofyear)给定年份和天数返回日期
select MAKEDATE(2017,23)
2.WEEKOFYEAR(DATE)给定日期返回改日期所在的星期数(1-53)
select WEEKOFYEAR('2017-05-13')
3.LEFT和RIGHT返回字符串的前或者后len个字符
select LEFT('2017-05-13',4)
4.WEEKDAY(DATE)返回星期的日期索引值(0:周一,1:周二。。。。)
select WEEKDAY('2017-05-13')
5.replace into table1 (col1,col2)select.....把查询的值根据ID插入table1中,如果本来就存在则先进行删除操作,后执行插入操作
可以进行批量修改
eg:表A字段 物料编号,日期
表B字段 参考值 , 周期 ,类型(表,组,全部)
要求更新表A,三种情况
1.当物料编号的前三位等于表B中的参考值,表B的类型字段值为组时,表A的日期按照所对应的表B的周期进行更新
2.当物料编号与表B中的参考值一摸一样,表B的类型字段值为表时,表A的日期按照所对应的表B的周期进行更新
3.当物料编号在表B中的参考值找不到匹配,但是存在表B有唯一一条记录类型字段值为全部,则表A的日期按照所对应的表B字段类型为全部的记录的周期进行更新,
例如表A日期为6月12号即select datepart(week,getdate())=24,物料编号为021-00001,表B关联的表为参考值=021 周期=4 类型=组,则表示4周为一个周期,24周所在周期是21-24周,则表A的日期变成第21周的第一天即5月21日,更新表A
REPLACE INTO material(mNo, mDate)
SELECT mNo, MAKEDATE(
LEFT(mDate, 4), (WEEKOFYEAR(b.mDate) - IF((WEEKOFYEAR(b.mDate))%b.repeats, (WEEKOFYEAR(b.mDate))%b.repeats, b.repeats) +1)*7 + 1- WEEKDAY(MAKEDATE(
LEFT(mDate, 4), 1))) AS newDate
FROM
(
SELECT material.*,ch.*
FROM material, ch
WHERE (
LEFT(material.mNo, 3) = ch.refer AND ch.types = 2) OR (material.mNo = ch.refer AND ch.types = 1) OR
((
SELECT COUNT(1)
FROM ch
WHERE
LEFT(mNo,3) =
LEFT(ch.refer,3))=0 AND (
SELECT COUNT(1)
FROM ch
WHERE types=3)=1 AND ch.types = 3))b
- mysql 时间方法总结
- mysql 时间函数总结
- mysql 时间类型总结
- mysql 时间函数总结
- mysql时间类型总结
- mysql时间日期函数总结
- mysql 时间的用法总结
- MySQL 时间函数小总结
- MySql中时间类型总结
- mysql时间相关函数总结
- MySQL日期时间函数总结
- Mysql日期和时间总结
- mysql --时间日期函数总结
- MySQL时间相关函数总结
- 时间管理和方法总结
- 时间获取方法的总结
- MySQL备份方法总结
- mysql循环方法总结
- HTML元素居中的几种办法
- SpringMVC重要注解(一)@ExceptionHandler和@ResponseStatus
- 存储器的几种体系结构
- 我也说说Emacs吧(7)
- Java Enum 枚举详解
- mysql 时间方法总结
- php 原生分页类
- JS之颠倒数组元素的reverse方法
- 1064. 朋友数(20) PAT
- 欢迎使用CSDN-markdown编辑器
- IDEA如何将master合并到指定支代码
- 使用微信PC端的截图dll库实现微信截图功能
- 把JfreeChart集成在Hibernate+SpringMVC框架项目中(附源码)
- ARKit 开发系列(1)----Xcode开发ARKit应用