昨天遇到乙個問題,記錄一下,sql如下:
select tt.*from
(select u.chapter_id as
"chapterid",
case
when u.chapter_id=u.f_id then u.chapter_name else
'123
'end
as"chaptername",
u.update_time
as"updatetime"
from
t_user_info u ) tt
where tt.chaptername =
'haha
';
此時報錯tt.chaptername未無效字元
那麼首先判斷單雙引號及分號不是中文字元,發現問題還是出在chaptername上,執行除where條件以外的sql是有結果的,
於是研究別名的雙引號是不是有問題,發現去除別名的雙引號後,整個sql執行成功;
oracle 單引號 雙引號
在oracle中 雙引號的作用是 假如建立物件的時候,物件名 欄位名oracle將嚴格區分大小寫,否則oracl都預設大寫。而單引號則示意 這個加了單引號的字段是乙個字類似字串,並不區分大小寫。當指定字串文字時,必須用單引號將字串文字引住。oracle10g之前,假如字串文字裡含有單引號,那麼必須運...
oracle單引號和雙引號的區別
雙引號 1.表示其內部的字串嚴格區分大小寫 2.用於特殊字元或關鍵字 3.不受識別符號規則限制 4.會被當成乙個列來處理 5.當出現在to char的格式字串中時,雙引號有特殊的作用,就是講非法的字元包裝起來,以避免出現日期格式轉化錯誤 案例1 區分大小寫 a.create table t as s...
Oracle中的 單引號 和 雙引號
雙引號的作用是 假如建立物件的時候,物件名 欄位名加雙引號,則示意 oracle將嚴格區分大小寫,否則oracl都預設大寫。而單引號則示意 這個加了單引號的字段是乙個字類似字串,並不區分大小寫。單引號用於標識字元與數字的區別 當指定字串文字時,必須用單引號將字串文字引住。oracle10g之前,假如...