2

SQL * Plusの使用私は、select unionステートメントを使用して、次のように同じテーブルの2つの列の結果を結合しようとしています。

select substr(startdate,4,3) milestone 
  from projects 
union 
select substr(enddate,4,3) milestone 
  from projects

列のエイリアスmilestoneを使用していますが、何らかの理由で結果が列名で表示されますmil。なんらかの理由で切り捨てられており、 and列substrから3文字を取得しているので問題だと思います。この問題をどのように修正する必要がありますか?stardateenddate

4

3 に答える 3

4

これは、sql-plusを使用しているためです。データベースGUI(PL / SQL開発者)で同じクエリを実行すると、正常に機能しますが、sqlplusでは、データに合わせて列ヘッダーを切り捨てるだけです。

私はsqlplusの第一人者ではありませんが、これで問題が修正されます。

SQL> column milestone format a20;
SQL> select substr(sysdate,4,3) milestone from dual;

結果:

MILESTONE
--------------------
OCT
于 2012-10-09T15:00:28.400 に答える
3

ほとんどの場合、列幅を設定する必要があります。

COLUMN MILESTONE FORMAT A20
SET VERIFY ON
SET HEADING ON
SET PAGES 25
SET LINES 60

select substr(startdate,4,3) milestone 
  from projects 
union 
select substr(enddate,4,3) milestone 
  from projects
于 2012-10-09T14:59:58.923 に答える
0

これは役に立ちますか-

SQL> set linesize 100
SQL> column milestone format a25
SQL> select substr(startdate,4,3) "milestone"
  from projects 
union 
select substr(enddate,4,3) "milestone" 
  from projects;
于 2012-10-09T14:59:43.710 に答える