chu*_*man 41 mysql sql datetime date
我想获取datetime字段的日期部分.我知道我可以使用date_format获取它,但返回一个字符串或"varchar"字段.如何将结果转换为日期而不是varchar?
这是我的查询返回varchar:
(Select Date_Format(orders.date_purchased,'%m/%d/%Y')) As Date
Run Code Online (Sandbox Code Playgroud)
我尝试了这个问题的几个组合,但无法使它工作:
任何帮助表示赞赏.
Cha*_*ndu 66
尝试将其作为日期投射
SELECT CAST(orders.date_purchased AS DATE) AS DATE_PURCHASED
Run Code Online (Sandbox Code Playgroud)
OMG*_*ies 38
使用DATE功能:
SELECT DATE(orders.date_purchased) AS date
Run Code Online (Sandbox Code Playgroud)
Cybernate或OMG Ponies解决方案都可以使用.根本问题是DATE_FORMAT()
函数返回一个字符串,而不是一个日期.你写的时候
(Select Date_Format(orders.date_purchased,'%m/%d/%Y')) As Date
Run Code Online (Sandbox Code Playgroud)
我认为你基本上要求MySQL尝试date_purchased
根据该格式字符串格式化值,而不是调用该列date_purchased
,称之为"日期".但该列将不再包含日期,它将包含一个字符串.(因为Date_Format()
返回一个字符串,而不是一个日期.)
我不认为这是你想做的,但那就是你在做什么.
不要混淆值看起来与值的关系.
我看到了许多类型的用途,但我发现这种布局作为参考工具更有用:
SELECT DATE_FORMAT('2004-01-20' ,'%Y-%m-01');
Run Code Online (Sandbox Code Playgroud)