MySQL将SELECT结果定义为来自SELECT查询的文本
使用: MySQL Workbench和MySQL 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导入,而不需要我再转换文本。
我看过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后,我坚持后格式?
谢谢。
使用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