首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL datetime对象中时区的Regex

SQL datetime对象中时区的Regex
EN

Stack Overflow用户
提问于 2018-11-04 19:03:11
回答 1查看 691关注 0票数 1

我想用时区作为字符串存储我的日期时间对象。为了确保它们的格式正确,我希望有一个正则表达式作为验证器。日期时间对象是如何存储在PostgreSQL中的:

'2004-10-19 10:23:54+02'

很清楚的解释。当然,时区部分是可选的,因此regex模式也需要说明这一点。现在,我这样做:

/^\d\d\d\d-(0?[1-9]|1[0-2])-(0?[1-9]|[12][0-9]|3[01]) (00|[0-9]|1[0-9]|2[0-3]):([0-9]|[0-5][0-9]):([0-9]|[0-5][0-9])*(:[0-9]*\+[0-9]*)?$/

我不确定这是完全正确的,特别是时区部分。这是否匹配可以存储在PostgreSQL数据库中的所有可能的时区?谢谢你的帮助。

编辑:我没有将它直接存储在PostgreSQL数据库中,所以我仍然需要正确地使用regex。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-04 19:29:40

如果将该值保留为字符串类型,则可以尝试substring()函数作为选项:

代码语言:javascript
复制
select substring(str_date, 
       '([0-9]{1,4}-[0-9]{1,2}-[0-9]{1,2} [0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2}\+[0-9]{1,2})') 
  from tab;

https://rextester.com/QVNJWV98118

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53144339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档