You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在BigQuery中如何将DD.MM.YYYY格式字符串转为YYYY-MM-DD日期

字符串日期转标准日期格式的解决方案

直接用CAST转换失败的原因是数据库无法自动识别dd.mm.yyyy这种自定义格式的字符串,必须明确指定输入字符串的日期格式,通过解析函数完成转换。以下是主流数据库的实现方法:

BigQuery(匹配你代码中的表名语法)

使用PARSE_DATE函数,指定输入格式为%d.%m.%Y(%d代表日,%m代表月,%Y代表四位年份):

SELECT
  birthday,
  PARSE_DATE('%d.%m.%Y', birthday) AS birthday_date,
  CURRENT_DATETIME() AS now
FROM `staff`

MySQL/MariaDB

使用STR_TO_DATE函数解析字符串:

SELECT
  birthday,
  STR_TO_DATE(birthday, '%d.%m.%Y') AS birthday_date,
  NOW() AS now
FROM staff;

PostgreSQL

使用TO_DATE函数,对应格式字符串DD.MM.YYYY:

SELECT
  birthday,
  TO_DATE(birthday, 'DD.MM.YYYY') AS birthday_date,
  CURRENT_TIMESTAMP AS now
FROM staff;

SQL Server

可以通过PARSE指定区域格式,或者用CONVERT配合字符串替换:

-- 方法1:利用区域格式解析(德语区默认dd.mm.yyyy)
SELECT
  birthday,
  PARSE(birthday AS DATE USING 'de-DE') AS birthday_date,
  GETDATE() AS now
FROM staff;

-- 方法2:替换分隔符后用CONVERT转换
SELECT
  birthday,
  CONVERT(DATE, REPLACE(birthday, '.', '/'), 103) AS birthday_date,
  GETDATE() AS now
FROM staff;

转换后的birthday_date字段会以标准的YYYY-MM-DD日期格式返回。

内容的提问来源于stack exchange,提问作者Georgiy Gerasimov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 20:39:50