SQL 日期函数如何获取每月第一天?

嗯...2 02 2 年...我在一家公司做一个项目...顺便...我遇到了这个问题...
当时...数据库...Oracle的...查表...日期字段...我想获取每个月的第一天...
我使用了TRUNC函数...SYSDATE, 'MM'...简单明了...然后...返回结果...每个月的1 号...
还有...SQL Server...那个DATEFROMPARTS...语法一点。
复杂...但是有效...
是年(GETDATE()),月(GETDATE()),1 ...放在一起...听起来不错...
PostgreSQL...那个DATE_TRUNC...也很方便...'月',CURRENT_DATE...很简单...
哦,顺便说一下...一次...MySQL...那个...没有专门的函数...只是拼接... CONCAT(YEAR(NOW()), '-', '01 ')...
结果...错误...说格式不对...当时就迷惑了...查了半天...发现必须加引号...
CAST...更改类型...然后更正...
所以...使用特殊函数...这样更好...性能也高...字符串拼接...虽然常见...但是很容易出错...
特别... SQL Server用+...Oracle用||...那次我犯了一个错误...
总之...遇到这个问题...先看看数据库...如果有特殊函数...就用特殊函数...
确实没有...然后考虑拼接...但是要小心...日期格式...连接器...转换类型...
嗯...完成...

sql怎么查看当前日期

不同的 DBMS 有不同的函数来获取当前日期。

标准SQL使用CURRENT_DATE,返回格式为YYYY-MM-DD。
例如,Oracle使用SYSDATE,它需要对偶,并且对日期部分使用TRUNK函数。

MySQL 使用 curate with now() 或 curate()、now with time 和纯日期。
SQL Server 使用 getdate() 来获取时间,使用 conversion(date) 来获取日期。

PostgreSQL 使用 current_date 或 now()::date、now 带时区和 ::date 来转换日期。

具体项目一定要看手册,不要盲目使用。
你自己掂量一下吧。