CentOS 6.7 MySQL 5.1.73
我有一个归档表,其中有一个名为int a,b,c;
int main()
{
a=1;
b=2;
c=3;
scanf("%d",a);
}
的列,它只是每条记录的unix时期。
我正在尝试使用以下查询提取月份名称和月份编号。但是, # size a.out
text data bss dec hex filename
1318 284 16 1618 652 a.out
# size core.18521
text data bss dec hex filename
28672 180224 0 208896 33000 core.18521 (core file invoked as ./a.out)
是正确的,但dateTime
不是。
正确的结果应为%M
和%m
。但是March
正在返回12.
03
为什么%m
会返回12?
修改:这是一个有趣的。使用mysql> SELECT max( dateTime ) FROM archive;
+-----------------+
| max( dateTime ) |
+-----------------+
| 1457104500 |
+-----------------+
1 row in set (0.00 sec)
mysql> SELECT max( FROM_UNIXTIME(dateTime,"%M") ) as 'date' FROM archive;
+-------+
| date |
+-------+
| March |
+-------+
1 row in set (0.02 sec)
mysql> SELECT max( FROM_UNIXTIME(dateTime,"%m") ) as 'date' FROM archive;
+------+
| date |
+------+
| 12 |
+------+
1 row in set (0.02 sec)
会产生与%m
%m %M
答案 0 :(得分:1)
您选择已由max
转换的结果的FROM_UNIXTIME
值:
12是最大的数字结果,March是对月份名称进行排序时的“最大”字母数字结果。
我假设您想要最大的结果并在之后进行转换:
FROM_UNIXTIME(MAX(dateTime),"%M")
和
FROM_UNIXTIME(MAX(dateTime),"%m")
是你想要的