MySQL将SELECT结果定义为来自SELECT查询的文本

使用: MySQL WorkbenchMySQL for Excel

我有一个12位数字返回的数字,但是当以任何方式导入到Excel时,结果如下:1.20523E + 11。

我想(需要)指定该值需要作为文本返回,以通过MySQL的Excel完成查询没有这个错误。

我现有的查询:

Select -- Get Order data -- T5.orders_id As OID, DATE_FORMAT(T5.date_purchased, '%Y-%m-%d') As ODate, T3.products_name As PName, T3.products_id As PID, error: DATE_FORMAT(T5.date_purchased,'%y%m%d%H%i%s') As DecRepID, -- This results in 1503070244 -- Transaction ID to match with Payments 

我需要1503070244作为TEXT返回,所以excel导入,而不需要我再转换文本。

我看过CONVERTCAST但是我不能让查询正常工作,他们解决了语法错误。

 CONVERT(VARCHAR(12),(DATE_FORMAT(T5.date_purchased,'%y%m%d%H%i%s'))) As DecRepID, 

CAST返回正确的值,但Excel不识别为文本。

 cast(DATE_FORMAT(T5.date_purchased,'%y%m%d%H%i%s') as char) As DecRepID 

我知道这是简单的,但我找不到错误的原因。

有没有办法通过代码纠正这种情况,或者我导入到Excel后,我坚持后格式?

谢谢。

使用Shahkalpesh的想法,你可以做两件不同的事情:

1)你可以尝试escaping '使用: '\''

 concat('\'', DATE_FORMAT(T5.date_purchased,'%y%m%d%H%i%s')) As DecRepID, 

2)你可以尝试escaping '使用: "'"

 concat("'", DATE_FORMAT(T5.date_purchased,'%y%m%d%H%i%s')) As DecRepID, 

通过转义'该列将导入到Excel中: '1503070244这是您将需要Excel将它识别为文本来停止缩短的结果。

你可以在这里阅读更多: http : //dev.mysql.com/doc/refman/5.7/en/string-literals.html