[英]How does this SQL TO_CHAR function work?
我正在學習SQL考試,並且在學習指南中將以下代碼視為正確答案;
UPDATE promotions
SET promo_cost = promo_cost + 100
WHERE TO_CHAR(promo_end_date, 'yyyy'>'2000';
此代碼如何工作? 我指的是TO_CHAR部分。 這也是缺少的括號:
WHERE TO_CHAR(promo_end_date, 'yyyy') > '2000';
謝謝 !
我不確定(如果輸入有誤,但您錯過了)
UPDATE promotions
SET promo_cost = promo_cost + 100
WHERE TO_CHAR(promo_end_date, 'yyyy') > '2000';
您提供的示例采用日期變量promo_end_date
和日期格式'yyyy'
並以提供的格式返回一個字符串,因此只包含日期的'yyyy'
部分。 因此TO_CHAR(promo_end_date, 'yyyy')
返回4位數字的年份,例如(2000、2001、1990等)
對於結束日期大於2000的所有促銷,update語句應將promo_cost增加100。希望這會有所幫助。
您可以在Oracle SQL中試用:
select TO_CHAR('01-JAN-99', 'mm/dd/yyyy') from dual; --should return the string '01/01/1999'
select TO_CHAR('20-APR-15', 'dd/mm') from dual; --should return '04/20'
您應該為此檢查Oracle文檔,它們的所有內置函數都有詳細的文檔記錄: http : //docs.oracle.com/cd/B19306_01/server.102/b14200/functions180.htm
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.