SQL order by和SQL date

时间:2013-03-23 07:18:05

标签: mysql

我有2个与SQL查询相关的疑问

id name update
1  some  2013-05-03
2  som   2013-05-08
3  smee  2013-06-05
  1. 如何列出特定月份的项目(我希望所有记录,年份和日期都不会被指定,我只想查看月份)

  2. 如何按字母顺序排列名称并将其排列为名称组(例如限制记录数= 10)

  3. 数组A =以A开头的名称 数组B =以B开头的名称

2 个答案:

答案 0 :(得分:1)

MONTHDATE类型的字段中提取DATETIME的最简单方法是使用MySQL的日期时间函数MONTH()

对于您的查询,它应为:

SELECT *
FROM tblName
WHERE MONTH( `update` ) = <month Number such as 5>

第二个需要更复杂的查询。我宁愿使用php来更好地进行分组(因为我对这种语言有更多的控制权)。

答案 1 :(得分:0)

您可以简单地将字段的数据类型用作DATE,也可以将任何日期存储为unix timestamp,然后在您想要显示时将其转换。

Example: 1363979714 (ISO 8601:2013-03-22T19:15:14Z)

如果您想要特定日期的列表项,可以像这样编写查询:

月:

 Select * from tableName where update like '%-5-%'

天:

 Select * from tableName where update like '%-16'

年:

 Select * from tableName where update like '2013-%'