1
2
一种解决方案是正则表达式:
数据建模 问题。您存储了 作为一个字符串,这是根本问题。你无法控制输入,所以你不知道3/7/64是指3月7日还是7月3日。 输入 . |
2
1
一个简单的解决方案是使用一个函数将各种日期格式掩码应用于日期字符串,直到成功为止。这是我们的赢家,我们将其作为日期返回。如果没有一个掩码符合字符串,则返回null。
这个版本应用了三个掩码。考虑一下为数组分配掩码的顺序:如果您认为更多的字符串将日期表示为 年月日 年月日 不管你是在1990年4月10日还是1990年10月4日装货,那么你应该相应地更改订单。 a demo on db<>fiddle of this approach in action . 请注意,我已经在示例中添加了一些输入行。
三 八个日期中的一个无效,还有三个可能是无效的 年月日 年月日 . 这意味着你只能确定样本中25%的日期是正确的。鉴于这一命中率,你也应该对那些人产生怀疑:当然,它们是约会,但它们是正确的吗?扩展一下,你能相信这个源系统传递给你的任何数据吗?你怎么能确定他们对这一个纵队只是漫不经心,而对其他纵队却很严格?我敢打赌 “名字、姓氏和电话号码” 也充满了不可靠的价值观。 很有可能你为了问题的目的夸大了发布样本中坏日期的数量。但是如果这个分解代表了你得到的数据,那么你应该讨论一下是否值得你花时间加载这些数据,如果你加载了它,你应该在多大程度上信任它进行下游处理。 |
maddy · 如何根据oracle SQL中的某一列值进行排名 1 年前 |
kiric8494 · 显示以元音开头和结尾的城市名称 2 年前 |
Franz Biberkopf · Oracle:组合子查询和聚合函数 2 年前 |
BitLauncher · 甲骨文-如何模拟位列和布尔和/或? 2 年前 |
Arifullah · 如何从oracle中的列中删除特定的初始字符? 2 年前 |
Anar · Oracle SQL用户定义函数 2 年前 |
user1312312 · 如何为一组表编写通用触发器? 2 年前 |