如何缩进mysql SELECT INTO OUTFILE的结果

时间:2011-06-12 08:10:59

标签: mysql indentation file-io

我有一个我要转储到outfile的sql表。问题是,一些结果是1位数,即1或2,而其他结果是长数,即1.2323523

这会导致outfile看起来很糟糕,就像这样

1   a bbb
1.21321342 aaaa bbbbb 

意思是,每列的开头未对齐。有谁知道sql中是否有办法照顾它?

感谢!!!

3 个答案:

答案 0 :(得分:1)

像这样使用你得到一个csv文件,所以在excel看起来很漂亮

SELECT * 
FROM mytable
INTO OUTFILE '/tmp/table.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'

答案 1 :(得分:1)

将列转换为char(n),例如

select cast(my_numeric_column as char(10)) as my_numeric_column

这将输出固定宽度的列数据。然而,他们将被证明是合理的。

更好的解决方案是为所有数字提供相同数量的小数位,1将输出为“1.000000”等。这是如何做到的:

select cast(my_numeric_column as decimal(16,8)) as my_numeric_column

选择你想要的精度(地方数量 - 这里是8)。

可以通过这种方式处理所有列,以生成精美的列表格式。

答案 2 :(得分:0)

您可以使用其中一个string manipulation functions in mysql。值得注意的是,LPADFORMAT