首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sql日期格式"2019-10-30“、"2019/10/30”、"10-30-2019“和"10/30/2019”

sql日期格式"2019-10-30“、"2019/10/30”、"10-30-2019“和"10/30/2019”
EN

Stack Overflow用户
提问于 2019-11-10 23:33:08
回答 2查看 119关注 0票数 2

我认为毫无疑问,在sql格式中,"2019-10-30"是有效的日期格式,看起来"2019/10/30"也被接受了。

"10-30-2019""10/30/2019"呢?

我用mariaDB尝试了它们,它们的格式是错误的,但不知怎么的,我想我确实在一些sql表中看到了它们。请帮助我澄清日期格式。谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-11-10 23:36:54

在MariaDB中,日期的格式是yyyy-mm-dd。但是MariaDB非常宽松,其他格式也被接受;来自文献资料

DATE字符串是以下格式之一的字符串:'YYYY-MM-DD''YY-MM-DD'。注意,任何标点符号都可以用作分隔符。所有分隔符必须由一个字符组成。可以在同一个字符串中使用不同的分隔符。分隔符是可选的(但如果使用一个分隔符,则必须使用所有分隔符)。 DATE文本也可以是整数,格式如下:YYYYMMDDYYMMDD。 以下所有DATE文本都是有效的,它们都表示相同的值: '19940101' '940101' '1994-01-01' '94/01/01' '1994-01/01' '94:01!01' 19940101 940101

因此,关于您提供的例子:

代码语言:javascript
复制
2019-10-30    -- ok: default format
2019/10/30    -- ok: format with alternative delimiter
10-30-2019    -- NOT ok
10/30/2019    -- NOT ok

可以使用函数str_to_date()将字符串转换为日期。

代码语言:javascript
复制
str_to_date('10-30-2019', '%m-%d-%Y')
str_to_date('10/30/2019', '%m/%d/%Y')
票数 1
EN

Stack Overflow用户

发布于 2019-11-10 23:44:01

您真正要做的是将日期的字符串表示形式转换为内部日期、时间表示或数据类型。您所指的格式是ISO 8601。ISO date (2019-10-30带连字符或括号)格式通常是大多数数据库使用的本机或默认字符串转换,这就是即使您没有指定转换,这些格式也能工作的原因。如果您打算从其他格式转换,您可能需要指定它们。本地设置的默认表示也可能工作,但这取决于特定的数据库。

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

https://stackoverflow.com/questions/58793911

复制
相关文章

相似问题

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