Hi All,
I am new to both this blog and technology. I was able to
see a response for one of the questions on triggers as
below.
I would like to know why are we using
" if rtrim(to_char(sysdate,'day'))=rtrim('sunday') then"
instead, can't we use
" if sysdate = 'sunday' then".
I can understand the use of "rtrim", but dont know y v r
using to_char. I have seen this in many cases but did not
get a convincible explaination.
Please help me with this and do excuse if this question
sounds silly.
Thanks in advance......
create or replace trigger trg_sun
before insert on <table name>
begin
if rtrim(to_char(sysdate,'day'))=rtrim('sunday') then
raise_application_error(-20345,'no transaction in sunday');
end if;
end trg_sun;
Answer Posted / eshwer
Hi,
see the below example you can easily understand that why we are using trim.
select decode(TRIM(to_char(SYSDATE,'Day')),'Monday','3','1') from dual
1. select decode(to_char(SYSDATE,'Day'),'Monday','3','1') from dual
Ans : 1 – error because eroju Monday ne kabatti query 3 return cheyali kani 1 return chesthundi. Karanam spaces so we need to use trim function.enduko kinda points chudu
2. Run this query and check the output select to_char(SYSDATE,'Day') from dual
3. select length(to_char(SYSDATE,'Day')) from dual –- ee query run chei output 9 vasthundi. But Monday actual length is 6.
run these queries
| Is This Answer Correct ? | 4 Yes | 0 No |
Post New Answer View All Answers
Explain the uses of database trigger.
How to fix oracle error ora-00942: table or view does not exist
what are the different type of normalization? : Sql dba
What is bitemporal narrowing?
what tools available for managing mysql server? : Sql dba
explain mysql aggregate functions. : Sql dba
Explain what is an index?
what is a control file ? : Sql dba
How do I partition a table in sql?
What is data control language?
Can instead of triggers be used to fire once for each statement on a view?
Which data dictionary views have the information on the triggers that are available in the database?
How do you update f as m and m as f from the below table testtable?
Table 1: col1 Timestamp ---------------- 01-mar-2012 11:12:46 Table 2: col2 Timestamp -------------------- 01-mar-2012 11:12:10 01-mar-2012 11:11:23 Write a query to display a row with table2 col2 value less than tabl1 col1 value. Maximum timestamp value previous to table1 col1 value. Display a result as: Col1 col2 ----- ----- 01-mar-2012 11:12:46 01-mar-2012 11:12:10
How do I debug a stored procedure?