谢谢
答案 0 :(得分:0)
您可以使用TO_DATE和TO_VARCHAR转换格式:
select to_varchar( to_date(v, 'MM/DD/YY'), 'YYYYMMDD' )
FROM VALUES ( '2/10/17' ) , ('11/1/17' ), ('12/18/19 ') tmp( v );
由于12/18/19,我假设您的日期格式为MM / DD / YY。
如果有要转换的空字符串,则可以使用IFF将其转换为空值:
select to_varchar( to_date( IFF(v <> '', v, NULL), 'MM/DD/YY'), 'YYYYMMDD' )
FROM VALUES ( '2/10/17' ) , ('11/1/17' ), ('12/18/19 '), ('') tmp( v );
这将返回以下内容:
+----------+
| NEW_DATE |
+----------+
| 20170210 |
| 20171101 |
| 20191218 |
| NULL |
+----------+
答案 1 :(得分:0)
我将假设您的日期字段是一个字符串,因为这两种日期格式实际上都不是Snowflake存储日期的方式。但是要进行转换,您需要执行以下操作:
SELECT TO_VARCHAR(TO_DATE('2/10/17','MM/DD/YY),'YYYYMMDD');
答案 2 :(得分:0)
检查下面的URL以获取日期输出格式
https://docs.snowflake.com/en/user-guide/date-time-input-output.html
答案 3 :(得分:0)
我尝试使用相同的方法:
选择TO_VARCHAR(TO_DATE((RpEntTrDt),'MM / DD / YY'),'YYYYMMDD') 来自CONCUR
但我得到:无法将格式为'MM / DD / YY'的''解析为日期''