2016-05-13 13 views
1

Ich wurde aufgefordert, bestehende Codes zu bearbeiten, die vor fünf Jahren von fünf verschiedenen Programmierern geschrieben wurden, und ich fand einfache Anführungszeichen direkt vor dem Namen einer Spalte in einer Abfrage. Was nützt es? Ich habe selber nie Oracle-Datenbank vor ... Der Teil der Abfrage wie diese ' ' work_instance sah, die Hälfte des Codes ist knapp unter wie:Verwendung von einzelnen Anführungszeichen vor Spaltenname Oracle

select PR.request_id, 
     PR.investor_id, 
     PR.proposal_date, 
     ' ' work_instance,  
     INV.foreign_company_name name, 
     PR.is_remove_cancel, 
     PR.remove_cancel_number, 
     PR.status_id, 
     REFR.description, 
     PR.fo_id, 
     PR.staff_id, 
     PR.case_id, 
     PR.sub_department_head_id, 
     PR.director_id, 
     ROUND((sysdate-PR.proposal_date)) as processing_time 
from REMOVAL.request PR, 
    KPPA.foreign_company_kp INV, 
    REMOVAL.ref_t_status_workflow REFR 
where ...criteria here... 

Danke für all Ihre Hilfe, wünschen Ihnen alles Gute!

+2

Es zeigt nur an, dass alle Zeilen in der Ergebnismenge der SELECT-Abfrage "'" als Wert unter der Spalte "work_instance" haben. Es ist nur eine Zuweisung von konstantem Wert für alle Zeilen in der Ergebnismenge. –

Antwort

4

' ' work_instance wählt einen konstanten String-Wert, der aus einem einzelnen Leerzeichen besteht, und weist diesem Wert den Spaltenalias work_instance zu.

Es ist das gleiche Konzept wie

ROUND((sysdate-PR.proposal_date)) as processing_time 

Mit dem Unterschied, dass der tatsächliche Wert ist nicht von einer echten Säule genommen, aber es ist ein konstanten Wert, und dass das (optional) as Schlüsselwort nicht verwendet wurde.

+0

Also, was bedeutet, dass es eine zusätzliche Spalte im Recordset geben wird, die Werte sind leere Strings in jeder Zeile? Sorry für die späte Antwort @a_horse_with_no_name – Logos

+0

@Logos: ja, das hast du richtig verstanden. –

+0

Vielen Dank @a_horse_with_no_name, das hilft wirklich! – Logos

Verwandte Themen