使用: MySQL Workbench & MySQL for Excel
我有一个12位数的返回数字,但是当使用任何方式导入到Excel时,会导致:1.20523E + 11.
我希望(需要)指定该值需要作为文本返回,以便通过MySQL for 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导入它,而无需我转换文本。
我看过CONVERT
& CAST
然而,我无法让查询正常工作&他们解决了语法错误。
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后我是否坚持使用后格式化?
谢谢。
答案 0 :(得分:1)
使用Shahkalpesh的想法,你可以做两件事:
1)您可以使用escaping
'
'\''
{/ 1}}
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