MySQL中怎么将字符串转化为日期
在MySQL中,我们有时会碰到需要将字符串转化为日期的情况。这在处理日期数据时特别常见,比如导入一个CSV文件,里面的日期会被辨认为字符串,而我们需要在MySQL中以日期格式进行存储和计算。那末该怎么将字符串转化为日期呢?接下来,我们将向您介绍MySQL中经常使用的字符串转化为日期的方法。
方法一:使用STR_TO_DATE()
STR_TO_DATE()函数是MySQL内置函数,可以将字符串转化为日期格式。函数的语法以下:
STR_TO_DATE(str,format)
其中str表示要转化为日期格式的字符串,而format表示这个字符串的格式。format可以是任意的日期格式,比如yyyy-mm-dd,dd/mm/yyyy等等。下面举一个例子:
假定有以下字符串:2019⑴0⑵3
我们可使用以下语句将这个字符串转化为日期格式:
SELECTSTR_TO_DATE('2019⑴0⑵3','%Y-%m-%d');
上面的语句将返回一个日期类型的数据,表示2019年10月23日。我们可以将其存储到MySQL中的日期字段中,或进行日期计算等其他操作。
方法二:使用DATE_FORMAT()
DATE_FORMAT()函数是MySQL内置函数,可以将日期格式化为字符串,不过也能够用来将字符串转化为日期格式。函数的语法以下:
DATE_FORMAT(date,format)
其中date表示要转化为日期格式的字符串,而format表示这个字符串的格式,一样可以是任意的日期格式。下面举一个例子:
假定有以下字符串:23⑴0⑵019
我们可使用以下语句将这个字符串转化为日期格式:
SELECTDATE_FORMAT('23⑴0⑵019','%d-%m-%Y');
上面的语句将返回一个日期类型的数据,表示2019年10月23日。一样,我们可以将其存储到MySQL中的日期字段中,或进行日期计算等其他操作。
方法三:使用UNIX_TIMESTAMP()
UNIX_TIMESTAMP()函数是MySQL内置函数,可以将日期转化为时间戳格式。虽然它的本意不是将字符串转化为日期,但我们可以通过先将字符串转化为时间戳,再将时间戳转化为日期,到达将字符串转化为日期的效果。函数的语法以下:
UNIX_TIMESTAMP(date)
其中date表示要转化为时间戳格式的字符串。下面举一个例子:
假定有以下字符串:20191023
我们可使用以下语句将这个字符串转化为日期格式:
SELECTFROM_UNIXTIME(UNIX_TIMESTAMP('20191023'),'%Y-%m-%d');
上面的语句将返回一个日期类型的数据,表示2019年10月23日。一样,我们可以将其存储到MySQL中的日期字段中,或进行日期计算等其他操作。
桂%哥%网%络www.guIgege.cn
TOP