操作使用日期和时间值
存储日期和时间值的方法使它可能涉及他们作为一些算术中的操作数操作。存储区中的日期值或时间戳的日期部分表示为经过的天数
自"日期零"— — 1898 年 11 月 17 日 — — 虽然时间值或时间戳的时间部分表示为(与考虑的秒的小数部分) 自午夜开始的秒数。
一个例子是从一个较晚的时间减去较早的日期或 时间,作为结果的时间间隔为天和天的分数。
表3.3.日期和时间数据类型的算术操作
操作数1 | 操作符 | 操作数2 | 结果 |
DATE | + | TIME | TIMESTAMP |
DATE | + | 数值n | DATE增加整数n天,零碎的值四舍五入(不是舍入)到最接近的整数 |
TIME | + | DATE | TIMESTAMP |
TIME | + | 数值n | TIME增加n秒,分数部分考虑在内 |
TIMESTAMP | + | 数值n | TIMESTAMP,该日期将由数值n的天数和天中一部分增加,因此,"2.75"为代表的数将向前推动日期2天和18小时 |
DATE | - | DATE | 经过的天数数值范围内为DECIMAL(9,0) |
DATE | - | 数值n | DATE减少整数n天,零碎的值四舍五入(不是舍入)到最接近的整数 |
TIME | - | TIME | 经过的秒数数值范围内为DECIMAL(9,0) |
TIME | - | 数值n | TIME减少n秒,分数部分考虑在内 |
TIMESTAMP | - | TIMESTAMP | 天数和部分天数值的范围内为DECIMAL(18,9) |
TIMESTAMP | - | 数值n | TIMESTAMP,该日期将由数值n的天数和天中一部分减少,因此,"2.25"退后日期2天和6小时 |
备注
日期型数据类型在方言1中被当作时间戳型数据类型
参阅DATEADD,DATEDIFF