将语法从 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 格式的主要内容,如果未能解决你的问题,请参考以下文章
使用时刻 js 将 mysql 日期中的组 concat 更改为印度尼西亚日期格式