SQL 日期时间转换查询
Date and time conversion query in SQL
在我的数据库table中,有一个日期列,即EXPECTED DATE,格式为dd-mm-yyyy,该列的数据类型为文本。现在,我想将格式转换为 yyyy-mm-dd。但是日期根本没有改变,当我试图获取预期日期列的时间戳时也是如此。我收到一些错误。对于即将到来的日期,我使用了这个 STR_TO_DATE。但是这一年并没有像我预期的那样到来,时间戳也没有。
例如:
select STR_TO_DATE ('30-11-2011', '%d,%m,%y') as date ;
returns 结果为
2020-11-30
以及时间戳
select STR_TO_DATE ('2011,11,30 12,30,45', '%y,%m,%d, %H,%I,%S');
我没有收到错误。
请帮我找到这个问题的正确答案。
当使用 MySQL 的 STR_TO_DATE
时,您需要 %Y
(大写 Y)作为 4 位数年份。此外,分钟由 %i
表示,而不是 %I
,后者是 0 到 12 刻度的小时。所以使用:
SELECT STR_TO_DATE('30-11-2011', '%d-%m-%Y');
SELECT STR_TO_DATE('2011,11,30 12,30,45', '%Y,%m,%d %H,%i,%S');
对于第一个查询,您需要使用 %Y。请记住,在编写年份查询时,最好使用“Y”表示年份。
SELECT STR_TO_DATE("30,11,2011", "%d,%m,%Y");
对于第二个,您也可以使用“%Y”代替“%y”。对于分钟,请使用“%i”而不是“%I”。小时和分钟,你可以使用任何你喜欢的东西。
SELECT STR_TO_DATE("2011,11,30 12,30,45", "%Y,%m,%d %h,%i,%s");
有关 SQL 命令的更多说明,请参阅下面的 documentation。
对于第一个查询,您需要使用 %Y'。
SELECT STR_TO_DATE("30,11,2011", "%d,%m,%Y");
几分钟内,仅使用此“%i”。
SELECT STR_TO_DATE("2011,11,30 12,30,45", "%Y,%m,%d %h,%i,%s");
在我的数据库table中,有一个日期列,即EXPECTED DATE,格式为dd-mm-yyyy,该列的数据类型为文本。现在,我想将格式转换为 yyyy-mm-dd。但是日期根本没有改变,当我试图获取预期日期列的时间戳时也是如此。我收到一些错误。对于即将到来的日期,我使用了这个 STR_TO_DATE。但是这一年并没有像我预期的那样到来,时间戳也没有。
例如:
select STR_TO_DATE ('30-11-2011', '%d,%m,%y') as date ;
returns 结果为
2020-11-30
以及时间戳
select STR_TO_DATE ('2011,11,30 12,30,45', '%y,%m,%d, %H,%I,%S');
我没有收到错误。
请帮我找到这个问题的正确答案。
当使用 MySQL 的 STR_TO_DATE
时,您需要 %Y
(大写 Y)作为 4 位数年份。此外,分钟由 %i
表示,而不是 %I
,后者是 0 到 12 刻度的小时。所以使用:
SELECT STR_TO_DATE('30-11-2011', '%d-%m-%Y');
SELECT STR_TO_DATE('2011,11,30 12,30,45', '%Y,%m,%d %H,%i,%S');
对于第一个查询,您需要使用 %Y。请记住,在编写年份查询时,最好使用“Y”表示年份。
SELECT STR_TO_DATE("30,11,2011", "%d,%m,%Y");
对于第二个,您也可以使用“%Y”代替“%y”。对于分钟,请使用“%i”而不是“%I”。小时和分钟,你可以使用任何你喜欢的东西。
SELECT STR_TO_DATE("2011,11,30 12,30,45", "%Y,%m,%d %h,%i,%s");
有关 SQL 命令的更多说明,请参阅下面的 documentation。
对于第一个查询,您需要使用 %Y'。
SELECT STR_TO_DATE("30,11,2011", "%d,%m,%Y");
几分钟内,仅使用此“%i”。
SELECT STR_TO_DATE("2011,11,30 12,30,45", "%Y,%m,%d %h,%i,%s");