簡體   English   中英

Oracle SQL別名用法

[英]Oracle SQL Alias usage

我定義了一個別名:

concat(lower(DBO.tname.fname),lower(dbo.tname.lname)) as TNAME,

后來想在正則表達式中使用TNAME:

REGEXP_LIKE (TNAME,'smith')

失敗並顯示以下錯誤:

ORA-00904: "TNAME": invalid indentifier

但是,如果我用原始表達式替換TNAME,一切都很好:

REGEXP_LIKE (concat(lower(DBO.tname.fname),lower(dbo.tname.lname)),'smith')

如果不使用別名,我還能如何替換復雜的表達式?

非常感謝您的幫助。

操作順序為FROMWHERE, SELECTORDER BY將別名放入SELECT中。 如果在WHERE子句中比較REGEXP_LIKE (TNAME,'smith') ,它將無法識別它。

SELECT TNAME
FROM (
    SELECT concat(lower(DBO.tname.fname),lower(dbo.tname.lname)) as TNAME, some_other_cols
    FROM some_table
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM