将语法从 sqlplus 格式更改为 mysql 格式

Posted

技术标签:

【中文标题】将语法从 sqlplus 格式更改为 mysql 格式【英文标题】:changing syntax from sqlplus format to mysql format 【发布时间】:2012-07-05 16:18:21 【问题描述】:

我目前正在尝试将语法从 sqlplus 更改为 mysql 以设置报告文件的外观,以便更有条理

set pagesize 66
set linesize 75
ttitle center EarthOrientation Parameters(U) 2                                       

column year heading "Year" format 9999
column month heading "Month" format 99
column day heading "Day" format 99
column mjd heading "MJD" format 99999
select year, month , day , mjd, from     TB_PARAMETER_UI order by year,month,day,mjd; */

有人知道setpage size 和set line size 和title 的正确替换方法以及如何在mysql 中设置列​​吗?

【问题讨论】:

【参考方案1】:

那是在Oracle里你可以设置的,在Mysql中我没听说过这样的东西,但是你可以用这个:

select LEFT(`text`,100) as columname from table1;

其中 100 是字符数,但是如果您想以其他格式显示结果,可以使用 \G 代替 ;

编辑

mysql> select left(first_name,4) as short_name from t1 limit 10;
+------------+
| short_name |
+------------+
| PENE       |
| NICK       |
| ED         |
| JENN       |
| JOHN       |
| BETT       |
| GRAC       |
| MATT       |
| JOE        |
| CHRI       |
+------------+
10 rows in set (0.00 sec)

编辑 2:

mysql> select left(first_name,4) as short_name 
from t1 limit 10 into outfile 'test.txt';
Query OK, 10 rows affected (0.00 sec)

编辑 3:

试试这个:

mysql -e "select left(first_name,4) as short_name 
from t1 limit 10" -u myuser -pxxxxxxxxx mydatabase > mydumpfile.txt

它给出这样的结果:

short_name
PENE
NICK
ED
JENN
JOHN
BETT
GRAC
MATT
JOE
CHRI

【讨论】:

但我将如何设置标题和列标题?我不明白您的上述语法,因为它与我的有关? 记得我正在输出到一个文件而不是 mysql 客户端? 这适用于 mysqlclient,但正如我在尝试将此输出写入文本文件之前所说的那样?当我使用 SELECT SELECT Year 作为 YEAR FROM TB_PARAMETER_UI INTO OUTFILE '/tmp/results.txt';它不会像在 mysqlclient 中那样生成列标题 我想要在运行 mysqlquery 时生成的 txt 文件中的列和标题。你们中的大多数人都在想我想要一个 mysqlclient 内的标头,但事实并非如此。输出将发送到我的 tmp 目录中的一个 txt 文件,我希望这个文件为每一列都有一个列名和一个标题。这是我的 sqlplus 语法正在做的,但我不知道如何在 mysql 中做到这一点? 在您的第三次编辑中,这将如何为我提供列标题 short_name 甚至没有将其作为您的 sql 语句的一部分?

以上是关于将语法从 sqlplus 格式更改为 mysql 格式的主要内容,如果未能解决你的问题,请参考以下文章

Mysql查询格式从ZEND更改为Yii2

用 mysql 命令替换 sqlplus 命令

使用时刻 js 将 mysql 日期中的组 concat 更改为印度尼西亚日期格式

想在AngularJS中将格式从日期时间更改为日期

如何在 MySQL 中将 mediumtext 列更改为 varchar? (换表)

MySQL - 将日期字符串更改为日期类型?