格式化MySQL的记录显示结果

时间:2014-06-02 15:39:30

标签: php mysql

这是我获取所需数据的查询。我试图只显示qQuoteDateTime左边的10个字符。但是当我输入左边的函数时,我的引号不能拉下qQuoteDateTime。任何建议或替代函数只能显示一个记录的10个字符?

$query = "select left(qQuoteDateTime,10), symSymbol, symExchange, symName, qLastSalePrice, qPreviousClosePrice, qNetChangePrice,qBidPrice, qNetChangePct, qAskPrice, qTodaysHigh, qTodaysLow, q52WeekHigh, q52WeekLow, qShareVolumeQty
from symbols left outer join quotes on quotes.qSymbol = symbols.symSymbol where qSymbol = {$querysymbol} order by qQuoteDateTime desc limit 1";

this is my sample out put without the left function

1 个答案:

答案 0 :(得分:0)

而不是

left(qQuoteDateTime,10)

首先将日期转换为字符串,如下所示:

left(CAST(qQuoteDateTime AS CHAR),10)

如果您想为PHP结果提供一个方便的名称来访问此列,请像这样添加一个标签。

left(CAST(qQuoteDateTime AS CHAR),10) as qQuoteLeft10

这是一个演示:

mysql> select LEFT(CAST(NOW() as CHAR),10) as qQuoteLeft10;
+--------------+
| qQuoteLeft10 |
+--------------+
| 2014-06-02   |
+--------------+
1 row in set (0.04 sec)

以上所有内容都是为了准确回答您的问题。也就是说,有一个更好的方法。因为您将日期存储为MySQL DateTime类型,所以最好使用MySQL的本机日期函数准确地返回您想要的日期。

以下是更好地获取数据的示例:

mysql> select DATE_FORMAT(NOW(),'%Y-%m-%d') as qQuoteLeft10;
+--------------+
| qQuoteLeft10 |
+--------------+
| 2014-06-02   |
+--------------+
1 row in set (0.05 sec)