我在类型日期的数据库中有一个字段开头。我想以这种格式提取月份和年份: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)
然后我还有这些日子。
答案 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