如何在MySQL中提取BigQuery表date列的YYYY-MM-DD格式日期?
嘿,这个需求在跨库数据处理时挺常见的,MySQL里有好几种简单实用的方法可以帮你提取出想要的年月日部分,我给你整理几个最靠谱的方案:
方案1:用
DATE()函数(最直接推荐) MySQL的DATE()函数天生支持从带时间的日期字符串里提取纯日期部分,不管你的列是字符串类型还是datetime类型,它都能自动识别并处理。
示例代码:
SELECT DATE(`date`) AS extracted_date FROM your_table;
把your_table换成你实际的表名就行,执行后会直接返回2019-10-24这样的DATE类型结果;如果需要字符串格式,可以再套一层CAST转换:
SELECT CAST(DATE(`date`) AS CHAR) AS extracted_date_str FROM your_table;
方案2:用
DATE_FORMAT()函数(自定义格式更灵活) 如果你需要自定义输出的日期格式(比如改成YYYY/MM/DD这种),DATE_FORMAT()会更合适,用来提取标准年月日也完全没问题:
示例代码:
SELECT DATE_FORMAT(`date`, '%Y-%m-%d') AS formatted_date FROM your_table;
这里的%Y代表四位年份,%m是两位月份,%d是两位日期,组合起来就是你要的年-月-日格式,返回结果为字符串类型。
方案3:字符串截取法(适合非标准格式场景)
如果你的日期字符串格式非常固定(比如一定是YYYY-MM-DDTHH:MM:SS),也可以用字符串截取的方式直接拿到T之前的部分:
示例代码:
SELECT SUBSTRING_INDEX(`date`, 'T', 1) AS extracted_date FROM your_table;
这个方法速度快,但缺点是容错性差——如果字符串格式有变动(比如少了T或者格式不一致)就会失效,所以更推荐前两种基于日期函数的方案。
内容的提问来源于stack exchange,提问作者Chique_Code
相关产品推荐
相关产品推荐

