gpt4 book ai didi

mysql - SQL STR_TO_DATE

转载 作者:行者123 更新时间:2023-11-29 09:50:45 28 4
gpt4 key购买 nike

我在使用以下代码时遇到问题:

INSERT into `fun` ( funner)
SELECT YEAR(STR_TO_DATE(SUBSTRING(time,1,4), '%Y'))
FROM `orig`

返回警告:

Incorrect datetime value: '1880' for function str_to_date

time 是表 orig 中的 varchar 列,格式为 yyyy/mm

我想从此 varchar 中提取年份部分,并使用 STR_TO_DATE 将其转换为年份数据类型

最佳答案

我建议使用 usual date and time MySQL datatypes 之一,而不是很少使用的 YEAR datatype :DATEDATETIMETIMESTAMP

如果您想将字符串转换为 date 数据类型,则:

STR_TO_DATE(my_column, '%Y/%m')

您可以在此日期使用YEAR()函数,它将返回一个整数值:

YEAR(STR_TO_DATE(my_column, '%Y/%m'))

最后:如果您想要的只是从存储为字符串的日期中获取年份,那么您可以使用 SUBSTR 直接提取字符串:

SUBSTR(my_column, 1, 4)

这将返回一个字符串(不是整数),当在数字上下文中使用时,MySQL 将隐式转换为数字。

关于mysql - SQL STR_TO_DATE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54856005/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com