以这种格式提取月份和年份:“mm-yyyy”以及所有列

时间:2014-11-07 11:22:44

标签: mysql

我在类型日期的数据库中有一个字段开头。我想以这种格式提取月份和年份:mm-yyyy,我还需要所有其他列。

我试过了:

$query='SELECT *, DATEADD(MONTH, DATEDIFF(MONTH, 0, start), 0) AS [start] FROM ...

根据 Getting only Month and Year from SQL DATE

但它不起作用。错误:

Incorrect parameter count in the call to native function 'DATEDIFF'"

此外,我不确定如何继续。发现了这个: SQL Query - Change date format in query to DD/MM/YYYY

所以我的猜测是:

Convert(varchar(10),CONVERT(date,DATEADD(MONTH, (DATEDIFF(MONTH, 0, start), 0) AS [start]),106),103)

然后我还有这些日子。

3 个答案:

答案 0 :(得分:3)

使用DATE_FORMAT功能。

SELECT DATE_FORMAT(start, '%m-%Y') FROM ...;

答案 1 :(得分:0)

您正在使用SQL-Server语法进行MySQL安装。那不会奏效。每个数据库引擎的语法和功能都略有不同。使用

SELECT *, year(start), month(start)
from your_table

答案 2 :(得分:-1)

你也可以使用这个逻辑: -

SELECT *, CONCAT(MONTH(start), '-',  YEAR(start)) AS START
FROM TABLE_NAME