Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Snowflake cloud data platform 试着用花样约会?_Snowflake Cloud Data Platform - Fatal编程技术网

Snowflake cloud data platform 试着用花样约会?

Snowflake cloud data platform 试着用花样约会?,snowflake-cloud-data-platform,Snowflake Cloud Data Platform,Snowflake有一个TO_DATE(string,pattern)函数,但目前没有具有相同签名的函数的TRY_TO_DATE版本。虽然我们已经构建了一个javascript解析函数作为解决方法,但由于它的复杂性以及它的性能无法与真正的本机函数相比这一事实,它的性能非常糟糕 是否有关于此类本机功能可用性的路线图?是否有社区投票委员会来确定此类功能的优先级?虽然没有此功能的参数,但您可以设置日期输入格式,以强制尝试日期功能的模式: ALTER SESSION SET DATE_INPUT_FOR

Snowflake有一个TO_DATE(string,pattern)函数,但目前没有具有相同签名的函数的TRY_TO_DATE版本。虽然我们已经构建了一个javascript解析函数作为解决方法,但由于它的复杂性以及它的性能无法与真正的本机函数相比这一事实,它的性能非常糟糕


是否有关于此类本机功能可用性的路线图?是否有社区投票委员会来确定此类功能的优先级?

虽然没有此功能的参数,但您可以设置日期输入格式,以强制尝试日期功能的模式:

ALTER SESSION SET DATE_INPUT_FORMAT = 'YYYY-MM-DD';
SELECT TRY_TO_DATE('2020-04-05'); -- will return a date value

ALTER SESSION SET DATE_INPUT_FORMAT = 'DD-MM-YYYY';
SELECT TRY_TO_DATE('2020-04-05'); -- will return NULL

您可以使用雪花创意为新功能提供建议和投票:

TRY_TO_DATE()、TRY_TO_TIME()和TRY_TO_TIMESTAMP()函数:添加了对可选格式说明符的支持

在此版本中,TRY_TO_DATE()、TRY_TO_TIME()和TRY_TO_TIMESTAMP()函数系列支持可选的格式说明符,类似于对应的TO_DATE()、TO_TIME()和TO_TIMESTAMP()函数


TO_DATE的特殊版本,DATE执行相同的操作(即将输入表达式转换为日期),但支持错误处理(即,如果无法执行转换,则返回空值而不是引发错误)

语法

TRY_TO_DATE( <string_expr> [, <format> ] )
TRY_TO_DATE([,])

其他数据库,如SQL Server,确实具有可以尝试解析日期的函数。但是,请记住,最好的解决方案可能是以正确的格式标准化日期数据;总的来说,我们有几千个文件要导入。有些来自内部系统,我们可以很好地询问维护系统的团队,而其他则是外部第三方、遗留大型机,它们是不可变的(太贵了,无法根据我们的需要定制摘录),等等。因此,我们别无选择,只能在本地处理这些日期。同样,Snowflake确实有一个to_date(字符串、模式)函数,以及一个try_to_date(字符串)。我在抱怨缺少try_to_date(string,pattern)函数。请允许我把事情放到上下文中:我们将文件导入一个临时区域,那里的所有内容都转换为字符串。然后,我们将事情转移到一个更为业务友好的层,在该层中执行适当的键入。建议的方法将每个表限制为单一日期格式,这对于我们的许多文件来说是一个很低的限制。