Snowflake中如何将datetime字段的时/分/秒全部替换为0?
不同场景下的实现方法
以下是常用数据处理工具的对应解决方案:
Python(Pandas环境)
如果你使用pandas处理DataFrame数据,两种常用方案都能保留datetime类型:
import pandas as pd # 方案1:按天向下取整,逻辑直观 df['目标列名'] = df['目标列名'].dt.floor('d') # 方案2:提取日期部分后转回datetime,兼容性更强 df['目标列名'] = pd.to_datetime(df['目标列名'].dt.date)
SQL环境
不同数据库的语法略有差异:
- MySQL
-- 查询场景 SELECT DATE(目标列名) AS 处理后日期 FROM 表名; -- 原地更新表数据 UPDATE 表名 SET 目标列名 = DATE(目标列名);
- PostgreSQL
SELECT DATE_TRUNC('day', 目标列名) AS 处理后日期 FROM 表名;
- SQL Server
SELECT CAST(CAST(目标列名 AS DATE) AS DATETIME) AS 处理后日期 FROM 表名;
Excel环境
Excel中日期本质是数值,整数部分对应日期、小数部分对应时分秒,直接用INT函数取整即可:
在空白单元格输入公式:=INT(目标单元格),之后将单元格格式设置为日期时间格式,时分秒会自动显示为00:00:00。
注意:处理前请确认目标列已经是对应工具的原生日期时间类型,若为字符串格式需要先完成类型转换再操作,避免出现报错。
内容的提问来源于stack exchange,提问作者lalaland
相关产品推荐
相关产品推荐

