mysql trunc(sysdate)
时间: 2023-10-03 14:08:24 浏览: 156
这是一条 MySQL 的 SQL 查询语句,它的作用是截断当前日期(sysdate)的时间部分,只保留日期部分,返回一个新的日期值。例如,如果当前日期是 2021-08-31 15:30:45,执行 trunc(sysdate) 后会返回 2021-08-31。
需要注意的是,trunc 函数在 MySQL 中并不存在,它通常是 Oracle 数据库的函数。在 MySQL 中,可以通过使用 DATE 函数来实现类似的截断日期的操作。例如,可以使用 DATE(sysdate) 来截断当前日期的时间部分。
相关问题
oracle trunc转mysql
Oracle中的TRUNC函数用于截取日期时间的部分值,而MySQL中的TRUNC函数用于将浮点数或时间戳截取为整数部分。
如果要将Oracle中的TRUNC函数转换为MySQL中的TRUNC函数,可以使用以下方式:
1. 将日期时间转换为UNIX时间戳,然后使用MySQL中的FROM_UNIXTIME函数将其转换为日期时间格式,并使用MySQL中的DATE_FORMAT函数截取所需的部分值。
例如,将Oracle中的TRUNC(sysdate, 'MM')转换为MySQL:
```
SELECT DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP()), '%Y-%m-01') AS trunc_date;
```
2. 直接使用MySQL中的DATE_FORMAT函数截取日期时间的部分值。
例如,将Oracle中的TRUNC(sysdate, 'DD')转换为MySQL:
```
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d') AS trunc_date;
```
把一下oracle的查询语句转化为MySQL的查询语句(SELECT c.name, b.diagnose, SUBSTR(TO_CHAR(TRUNC(SYSDATE(), 'yy'), 'yyyymmdd'), 1, 4) - SUBSTR(TO_CHAR(TRUNC(c.birthday, 'yy'), 'yyyymmdd'), 1, 4) AS 年龄, c.home_address FROM wjj_yy_yldsj_mzghxx a, wjj_yy_yldsj_mzgzrz b, wjj_yy_yldsj_grjbxxb c WHERE a.org_reg_id = b.register_id AND a.reg_class = 2 AND a.org_code = b.org_code AND a.personid = c.personid;)
以下是将该Oracle查询语句转化为MySQL查询语句:
SELECT c.name, b.diagnose, SUBSTR(DATE_FORMAT(DATE_TRUNC(NOW(), 'YEAR'), '%Y%m%d'), 1, 4) - SUBSTR(DATE_FORMAT(DATE_TRUNC(c.birthday, 'YEAR'), '%Y%m%d'), 1, 4) AS 年龄, c.home_address
FROM wjj_yy_yldsj_mzghxx a, wjj_yy_yldsj_mzgzrz b, wjj_yy_yldsj_grjbxxb c
WHERE a.org_reg_id = b.register_id
AND a.reg_class = 2
AND a.org_code = b.org_code
AND a.personid = c.personid;
阅读全文