Mysql 在SELECT*查询中设置日期格式

Mysql 在SELECT*查询中设置日期格式,mysql,Mysql,是否可以在SELECT*查询中设置日期字段的格式?我想从表中获取所有列,但需要与日期不同的格式 比如: SELECT *, FORMATDATE(date,'%m-%d-%y') AS date FROM my_table; 或者我必须在查询后用php处理它吗?使用: 我不知道什么是FORMATDATE,但您可以使用DATE-FORMAT 如果您正在编写包含不同时区和格式的应用程序,更好的做法是使用存储在int(8)字段中的UNIX时间戳,否则您可以在查询中格式化日期字段 select DAT

是否可以在SELECT*查询中设置日期字段的格式?我想从表中获取所有列,但需要与日期不同的格式

比如:

SELECT *, FORMATDATE(date,'%m-%d-%y') AS date FROM my_table;
或者我必须在查询后用php处理它吗?

使用:


我不知道什么是
FORMATDATE
,但您可以使用
DATE-FORMAT


如果您正在编写包含不同时区和格式的应用程序,更好的做法是使用存储在int(8)字段中的UNIX时间戳,否则您可以在查询中格式化日期字段

select DATE_FORMAT(your_date_field_name,'%m-%d-%y') AS whatever FROM your_table_name_here;
结果是这样的

09-22-11

与此相反,


2011-02-02 15:42:51

您可以将列名称设置为过期格式。像这样:

$rs = mysql_query("select  blablabla,DATE_FORMAT(name_column, '%d-%b-%y | %H:%i')name_column,DATE_FORMAT(name_column2, '%d-%b-%y | %H:%i')as name_column2 from db ORDER BY id DESC limit $offset,$rows");
或者你可以用“as”
是的,您必须逐个选择。它的工作

谷歌是你的朋友:@cubetwo1729:w3schools有一些正确的东西,但也有许多完全错误的东西。示例是MySQL中根本不起作用的…Y2K警察。如果可能的话,“%m-%d-%Y”(%Y->4位数年,%Y->2位数年)最有可能是首选。我的代码很接近!有没有不在结果中创建新字段的方法?@PGrau您的意思是不想返回日期字段以及格式化的日期字段?然后,只需从选择中删除原始日期字段<代码>选择日期\u格式(日期,“%m-%d-%y”)作为“日期”,col1、col2、col3来自…@Ben我有很多列,我希望避免列出它们。我认为这是不可能的?@Pgrau,no和
SELECT*
通常被认为是不好的形式。
$rs = mysql_query("select  blablabla,DATE_FORMAT(name_column, '%d-%b-%y | %H:%i')name_column,DATE_FORMAT(name_column2, '%d-%b-%y | %H:%i')as name_column2 from db ORDER BY id DESC limit $offset,$rows");