在bigquery中将字符串dd-mm-yyyy转换为日期yyyy-mm-dd

尼克希尔

在表格中有600个字符串字段,格式为例如.18.05.2015,我想在bigquery中将其转换为日期2015-05-18。我尝试使用timestamp()和date()函数,但返回空值

米哈伊尔·伯利安(Mikhail Berlyant)

在标准SQL中

SELECT PARSE_DATE('%d.%m.%Y', '18.05.2015')

针对表的查询看起来像

SELECT PARSE_DATE('%d.%m.%Y', YourDateColumn)
FROM `YourDataset.YourTable`

已添加以解决“破损”值

WITH YourTable AS (
  SELECT '18.05.2015' AS dt UNION ALL
  SELECT '#' AS dt 
)
SELECT 
  CASE WHEN REGEXP_CONTAINS(dt, r'\d{2}\.\d{2}\.\d{4}') 
    THEN CAST(PARSE_DATE('%d.%m.%Y', dt) AS STRING)
    ELSE dt 
  END AS new_dt
FROM YourTable

它的作用是-仅处理与2015年5月18日格式匹配的值,并且不影响其他任何值

我有600条记录的多个日期列

使FINAL试图解释你的意见-但说实话,还是觉得这是不是你有什么,你不给清晰的画面,所以它是最好的,我可以让你!

CREATE TEMPORARY FUNCTION FIX(x STRING)
RETURNS STRING AS (
  CASE WHEN REGEXP_CONTAINS(x, r'\d{2}\.\d{2}\.\d{4}') 
  THEN CAST(PARSE_DATE('%d.%m.%Y', x) AS STRING) ELSE x END);

WITH YourTable AS (
  SELECT '18.05.2015' AS dt_001, '19.05.2015' AS dt_002, '21.05.2015' AS dt_003 UNION ALL
  SELECT '#' AS dt_001, '20.05.2015' AS dt_002, 'abc' AS dt_003
)
SELECT 
  FIX(dt_001) AS new_dt_001,
  FIX(dt_002) AS new_dt_002,
  FIX(dt_003) AS new_dt_003
FROM YourTable

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

日期从DD / MM / YYYY HH:MM:SS转换为YYYYMM

使用JavaScript将日期从dd / mm / yyyy转换为yyyy / mm / dd

如何在BigQuery中将dd / mm / yyyy字符串转换为日期?

JavaScript yyyy-mm-dd转换为错误的日期(mm / dd / yyyy)

熊猫,将日期时间格式mm / dd / yyyy转换为dd / mm / yyyy

在ionic 4 + Angular中将日期转换为DD / MM / YYYY

将日期格式从DD.MM.YYYY转换为YYYY-MM-DD

如何将日期格式从yyyy-mm-dd hh:mm转换为mm / dd / yyyy

熊猫将日期字符串从mm / d / yyyy和mm / dd / yyyy格式转换为dd.mm.yyyy

在Python中将dd mm yyyy转换为mm / dd / yyyy

熊猫将mm / dd / yyyy hh:mm转换为日期

在Snowflake中将YYYYMMDD字符串转换为YYYY-MM-DD日期格式

将日期格式从dd-mm-yyyy转换为dd / mm / yyyy

如何在Javascript中将日期时间字符串(yyyymmddhhss)格式转换为dd / mm / yyyy?

如何在C ++中将日期时间格式从yyyy-MM-dd转换为yyyy / MM / dd?

将时间戳记值的日期部分从YYYY / MM / DD转换为DD / MM / YYYY

要在Sybase中将字符串mm / dd / yy转换为日期yyyy / mm / dd格式

如何将日期格式从YYYY-DD-MM转换为DD-MM-YYYY

将dd / MM / yyyy hh:mm tt字符串日期转换为C#日期

PHP Oracle将日期从yyyy-mm-dd转换为mm / dd / yyyy

Ruby将DD / MM / YYYY字符串转换为YYYY,MM,DD

将文件中的YYYY / MM / DD格式日期数据转换为DD.MM.YYYY

将字符串dd / mm / yyy转换为yyyy-mm-dd hh:mm:ss

在JAVA中将字符串转换为日期格式(yyyy / MM / dd)

SQL将日期从dd.mm.yyyy转换为dd-mm-yyyy

如何快速将日期格式从dd / MM / YYYY转换为YYYY-MM-dd

将日期转换为DD / MM / YYYY

在JavaScript中将mm-dd-yyyy转换为日期

在C#中将字符串yyyy / mm / dd / hh / mm转换为日期时间

TOP 榜单

热门标签

归档