我可以验证字符串是 Presto 中的有效日期吗

     2023-03-21     200

关键词:

【中文标题】我可以验证字符串是 Presto 中的有效日期吗【英文标题】:Can I validate that a string is a valid date in Presto 【发布时间】:2022-01-10 05:35:10 【问题描述】:

在尝试在选择查询中解析月份之前,我想检查 sales_date 字段是否为有效日期:

现在,我正在这样做:如果 sales_date 不是有效日期,则查询会出错

SELECT CAST(YEAR(DATE(sales_date)) from sales

我想做类似CASE sales_date is a valid date 的操作,以防止在只有一行无效时查询出错。

但找不到执行此操作的 presto 函数。

【问题讨论】:

【参考方案1】:

您可以使用try,如果日期转换失败,它将返回 null:

WITH dataset(ts) AS (
    values 
        ('2021-08-22'),
        ('2021-08-22'),
        ('2021-22-08'),
        ('not a date')
)

select try(date(ts))
from dataset

输出:

_col0
2021-08-22
2021-08-22
 
 

【讨论】:

我可以使用 ajv json 模式验证日期,而不将日期转换为字符串吗?

】我可以使用ajvjson模式验证日期,而不将日期转换为字符串吗?【英文标题】:CanIvalidateadateusingajvjsonschema,withoutconvertingthedatetostring?【发布时间】:2019-08-2612:21:39【问题描述】:我有一个包含一个或多个日期类型属性的对象。... 查看详情

从 Presto SQL 中的字符串获取日期

】从PrestoSQL中的字符串获取日期【英文标题】:GettingdatefromStringinPrestoSQL【发布时间】:2020-11-1208:57:48【问题描述】:我正在尝试使用presto查询SELECTdate_parse(new_date,\'%m/%d/%Y%h:%i:%s%p\')FROMdatatablenew_date的格式在哪里"2/19/202003:06:48AM"但... 查看详情

正确确定日期字符串是不是是该格式的有效日期

】正确确定日期字符串是不是是该格式的有效日期【英文标题】:Correctlydetermineifdatestringisavaliddateinthatformat正确确定日期字符串是否是该格式的有效日期【发布时间】:2013-10-1618:34:11【问题描述】:我从API接收日期字符串,它的... 查看详情

如何验证输入是不是是javascript中的有效日期[重复]

】如何验证输入是不是是javascript中的有效日期[重复]【英文标题】:Howtovalidateiftheinputisavaliddateinjavascript[duplicate]如何验证输入是否是javascript中的有效日期[重复]【发布时间】:2017-12-2703:06:22【问题描述】:我想验证输入到函数... 查看详情

列的访问验证规则可能是:日期、特定文本字符串或 null

】列的访问验证规则可能是:日期、特定文本字符串或null【英文标题】:Accessvalidationruleforacolumnthatcouldbe:adate,aspecifictextstring,ornull【发布时间】:2014-11-0716:56:18【问题描述】:我有一列可以是:短日期:DD/MM/YYYY字符串:“N/A”... 查看详情

如何从 Presto 中的日期获取月份名称

...用Presto,但我不知道从日期列中获取MONTH名称的函数。我可以使用MONTH(<date>)函数获取MONTH编号,但我无法获取MONTH名称。我见过手动创建月份名称列表并将数字与列表匹配以获得名称的方法。有没有更好的 查看详情

SQL 中的有效日期验证

】SQL中的有效日期验证【英文标题】:ValiddateverificationinSQL【发布时间】:2018-09-1214:04:43【问题描述】:我有一列以(yyyymmdd)的格式保存LossDate。我需要验证如果该月以30天结束,那么损失日期为31的情况下没有报告任何损失。我有... 查看详情

presto - 获取最近一个星期六的日期

】presto-获取最近一个星期六的日期【英文标题】:presto-GetdateforthelastmostrecentSaturday【发布时间】:2021-09-2713:47:22【问题描述】:我想始终获取自当前日期以来最近的上周六的日期,我正在尝试以下查询:date_trunc(\'week\',current_date... 查看详情

如何在 Presto 中获取连续日期,其中一列中的开始日期和另一列中的结束日期

】如何在Presto中获取连续日期,其中一列中的开始日期和另一列中的结束日期【英文标题】:HowtogetContinuousdateinPrestowithstartdateinonecolumnandenddateinanothercolumn【发布时间】:2020-10-2019:18:44【问题描述】:下面是Presto中Raw表的样子我... 查看详情

我可以使这个phonevalidatorregex更有效吗?(代码片段)

我几天前开始乱用Regex,今天我被要求制作一个快速的正则表达式。(创建高效的正则表达式真的是一种艺术吗?)所以我写了这个简单的正则表达式以匹配以色列电话号码:^05[23489]-?[d]3-?[d]4$但是它能完成在1或2秒内完成大约10,... 查看详情

如何将欧洲格式的字符串日期转换为有效的 mysql 日期格式?

】如何将欧洲格式的字符串日期转换为有效的mysql日期格式?【英文标题】:Howtoconvertastringdateineuropeanformattoavalidmysqldateformat?【发布时间】:2020-05-2409:05:44【问题描述】:我正在尝试通过我的数据库中的表格插入2个日期,表格中... 查看详情

如何验证字符串是不是是 C++ 中的有效 IPv4 地址?

】如何验证字符串是不是是C++中的有效IPv4地址?【英文标题】:HowdoyouvalidatethatastringisavalidIPv4addressinC++?如何验证字符串是否是C++中的有效IPv4地址?【发布时间】:2008-11-2517:37:29【问题描述】:我不需要验证IP地址是否可访问或... 查看详情

如何检查给定字符串是不是是Java中的有效JSON

】如何检查给定字符串是不是是Java中的有效JSON【英文标题】:HowtocheckwhetheragivenstringisvalidJSONinJava如何检查给定字符串是否是Java中的有效JSON【发布时间】:2012-04-2719:53:08【问题描述】:如何在Java中验证JSON字符串?或者我可以... 查看详情

使用 Athena / Presto 从多个表返回 SQL 数据,受 1 个表中的日期范围限制

】使用Athena/Presto从多个表返回SQL数据,受1个表中的日期范围限制【英文标题】:ReturningSQLdatafrommultipletables,limitedbydaterangein1tableusingAthena/Presto【发布时间】:2017-03-2200:21:29【问题描述】:我正在慢慢完成一个利用AWSAthena处理各种... 查看详情

Presto - where 子句中的静态日期和时间戳

】Presto-where子句中的静态日期和时间戳【英文标题】:Presto-staticdateandtimestampinwhereclause【发布时间】:2016-10-2812:12:24【问题描述】:我很确定以下查询曾经在Presto上为我工作:selectsegment,sum(count)frommodeling_trendswheresegment=\'2557172\'an... 查看详情

Presto SQL - 将日期字符串转换为日期格式

】PrestoSQL-将日期字符串转换为日期格式【英文标题】:PrestoSQL-Convertingadatestringtodateformat【发布时间】:2017-02-1406:52:42【问题描述】:我在presto并且有一个格式化为varchar的日期,看起来像-7/14/20158:22:39AM我查看了presto文档并尝试... 查看详情

Swift 3 中的日期验证

...rmatter通过DateFormatter的dateFormat参数给出的格式来检查您的字符串是否有效。letdateString=" 查看详情

Laravel 验证:必须是带有“json”规则的有效 JSON 字符串

】Laravel验证:必须是带有“json”规则的有效JSON字符串【英文标题】:Laravelvalidation:MustbeavalidJSONstringwiththe"json"rule【发布时间】:2021-02-2719:10:45【问题描述】:我正在制作LaravelAPI,但我似乎无法在其中一篇文章中发送JSON... 查看详情