Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在mysql中将日期转换为字符串,然后再转换为日期。在mysql中组合两个函数_Mysql_Sql - Fatal编程技术网

在mysql中将日期转换为字符串,然后再转换为日期。在mysql中组合两个函数

在mysql中将日期转换为字符串,然后再转换为日期。在mysql中组合两个函数,mysql,sql,Mysql,Sql,具有日期类型的列,其默认格式为YYYY-MM-DD。我希望以DD-MM-YYYY格式获取日期,但仅作为日期类型。我想知道怎么可能?我将2个函数组合在一起,如下所示,但我没有得到期望的结果 STR_TO_DATE(DATE_FORMAT(emp.doj, '%d-%m-%y'),'%d-%m-%y') as doj 请不要关闭这个问题,因为它是一个不同的问题之前没有问谢谢 DATE_FORMAT(emp.doj,'%d-%m-%Y') as doj 您不需要使用STR_to_DATE。仅使用

具有日期类型的列,其默认格式为YYYY-MM-DD。我希望以DD-MM-YYYY格式获取日期,但仅作为日期类型。我想知道怎么可能?我将2个函数组合在一起,如下所示,但我没有得到期望的结果

STR_TO_DATE(DATE_FORMAT(emp.doj, '%d-%m-%y'),'%d-%m-%y') as doj
请不要关闭这个问题,因为它是一个不同的问题之前没有问谢谢

 DATE_FORMAT(emp.doj,'%d-%m-%Y') as doj

您不需要使用STR_to_DATE。仅使用日期格式。应该是工作

你为什么这么做?你的总体目标是什么?我这样问是因为以这种方式操纵日期通常是一种巨大的资源浪费。例如,人们这样做是为了去掉日期时间的时间部分,调用DATEemp.doj时最好使用默认格式YYYY-MM-DD,而不是默认格式。它是日期数据类型值的唯一表示形式。其他的都是字符串格式的值,字符串类型的值,而不是日期。你所问的毫无意义。日期格式是没有意义的,除非您向用户显示它,在这种情况下,它很重要。如果这就是你要做的,就把它作为一个字符串。如果不是,则不需要更改格式。最好将其作为自己的日期格式存储在MySQL中。或者存储时间戳,然后检索它并使用时间戳创建日期对象。向我们展示一些示例表数据和预期结果。和表定义。全部为格式化文本,无图像。我知道,但日期格式返回类型是字符串我需要将列映射到java中日期类型的字段我不想在java端使用任何SimpleDataFormat,但STR\u to\u DATE返回“%Y-%m-%d”此格式仅适用于您,如果您需要不同的格式,则必须使用日期格式。从数据库检索数据后,应使用java类型转换字符串来确定日期。@未知:您似乎没有在侦听。如果将字符串转换为数据库中的日期,它将转换为数据库使用的任何格式。你试图做的不仅是不必要的,而且永远不会按你期望的方式工作。如果我有一张一美元的钞票,我把它转换成硬币,然后再转换成一美元的钞票,我不会得到一张上面有欧元符号的钞票,而是一张一美元的钞票。如果您将SQL日期转换为某种格式的字符串,然后将其转换回SQL日期,您将再次获得原始的SQL日期fomrat。@KenWhite是的,我得到了它,它将转换为相同的格式,我以为可以转换为不同的格式。谢谢!!!