我有一个我要转储到outfile的sql表。问题是,一些结果是1位数,即1或2,而其他结果是长数,即1.2323523
这会导致outfile看起来很糟糕,就像这样
1 a bbb
1.21321342 aaaa bbbbb
意思是,每列的开头未对齐。有谁知道sql中是否有办法照顾它?
感谢!!!
答案 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。值得注意的是,LPAD或FORMAT。