我的数据包含在Big Query中导入的日期信息,格式为2/13 / 2016,3 / 4/2012等
我想将其转换为日期格式,如02-12-2016和03-04-2012。 我想使用Query创建一个新列并使用正则表达式。
我知道匹配2012年2月4日第一部分(2)的正则表达式将类似
^(\ d {1})(/ | - )
注册ex以匹配第二部分/将
(/)(\ d {1})(/)
我想知道如何使用这两个正则表达式以及REGEXP_EXTRACT和REGEXP_REPLACE来创建一个具有正确格式的这些日期的新列。
答案 0 :(得分:1)
转换为DATE
类型列可能最简单。例如:
#standardSQL
SELECT
PARSE_DATE('%m/%d/%Y', date_string) AS date
FROM (
SELECT '2/13/2016' AS date_string UNION ALL
SELECT '3/4/2012' AS date_string
);
另一个选项 - 如果您想将日期保留为字符串 - 是使用REPLACE
:
#standardSQL
SELECT
REPLACE(date_string, '/', '-') AS date
FROM (
SELECT '2/13/2016' AS date_string UNION ALL
SELECT '3/4/2012' AS date_string
);