我有這樣的選擇SQL if語句來解決問題
insert into test(t_name)
(select users.first_name || '_' || users.last_name
|| '_' || to_date($values.report_date, 'YYYY.MM.DD')
from users where users.id = $session.user_id)
像預想的那樣,只是我想它,如果users.first_name/users.last_name是空的,其工作和USER_ID = 0插入另一個字符串「管理員」否則我得到錯誤,因爲它違反列t_name上的非空約束。
任何建議表示讚賞。謝謝。如果你所提到的所有條件必須是真實或只是其中之一,從問題
insert into test (t_name)
select case
when users.first_name is null and users.last_name is null and users.id=0 then 'admin'
else users.first_name || '_' || users.last_name || '_' || to_date($values.report_date,'YYYY.MM.DD')
end
from users
where users.id = $session.user_id
目前還不清楚(我):
我試過上面的解決方案,它的工作。儘管如此,你的時間+1。 – Fofole 2012-04-02 08:21:25