Posts
PL/SQL - EXTRACT Function
EXTRACT function 可擷取日期或時間中指定部分的資料。
使用語法如下:
EXTRACT ( { YEAR | MONTH | DAY | HOUR | MINUTE | SECOND } | { TIMEZONE_HOUR | TIMEZONE_MINUTE } | { TIMEZONE_REGION | TIMEZONE_ABBR } FROM { date_value | interval_value } ) 我們可以帶入日期並指定擷取 年、月、日,或是帶入時間並指定擷取 時、分、秒。
像是要擷取現在是西元幾年,可以像下面這樣叫用:
EXTRACT(year from sysdate) 要擷取現在是幾點,可以像下面這樣叫用:
EXTRACT(hour from systimestamp) 使用上會像下面這樣:
{% img /images/posts/ExtractFunction/1.png %}
Link Oracle/PLSQL: EXTRACT Function
read morePosts
PL/SQL - MONTHS_BETWEEN Function
MONTHS_BETWEEN function 可計算兩個日期相差多少月份。
使用語法如下:
MONTHS_BETWEEN( date1, date2 ) 帶入的兩個日期,若第一個日期大過第二個日期,則回傳正值的月份差。反之則回傳負值月份差。
像是下面這樣叫用就會傳回 2:
MONTHS_BETWEEN(ADD_MONTHS(sysdate, 2), sysdate) 像下面這樣叫用就會傳回 -2:
MONTHS_BETWEEN(sysdate, ADD_MONTHS(sysdate, 2)) 使用上會像下面這樣:
{% img /images/posts/MonthsBetweenFunction/1.png %}
Link Oracle/PLSQL: MONTHS_BETWEEN Function
read morePosts
PL/SQL - LAST_DAY function
LAST_DAY function 會依帶入的日期回傳對應月份的最後一天。
使用語法如下:
LAST_DAY( date ) 其中 date 為要處理的日期,帶入即會回傳對應月份的最後一天。
像是要取得當月的最後一天,可以像下面這樣叫用:
last_day(sysdate) 使用上會像下面這樣:
{% img /images/posts/LastDayFunction/1.png %} Link Oracle/PLSQL: LAST_DAY Function
read morePosts
PL/SQL - NEXT_DAY function
NEXT_DAY function returns the first weekday that is greater than a date。
使用語法如下:
NEXT_DAY( date, weekday ) 其中 date 為基準日,weekday 指定要回傳的日期為星期幾。
weekday 可為 SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY、SATURDAY。
像是要找尋下一個星期日,可這樣叫用:
next_day(sysdate, 'SUNDAY') 使用上會像下面這樣:
{% img /images/posts/NextDayFunction/1.png %}
Link Oracle/PLSQL: NEXT_DAY Function
read morePosts
PL/SQL - ADD_MONTHS function
ADD_MONTHS function 可將帶入的日期月份做加減處理後回傳。
使用語法如下:
ADD_MONTHS( date1, number_months ) 其中 data1 為要做處理的日期,number_months 為要加減的月份。
number_months 帶入的值為正值,表示是要加上指定的月份,反之表示要減上指定的月份。
像是要將當前的日期加三個月,可這樣叫用:
add_months(sysdate, 3) 要將當前日期減三個月,可這樣叫用:
add_months(sysdate, -3) 使用上會像下面這樣:
{% img /images/posts/AddMonthsFunction/1.png %}
Link Oracle/PLSQL: ADD_MONTHS Function
read morePosts
PL/SQL - MOD function
MOD function 可傳回兩數相除後的餘數。
使用語法如下:
MOD( m, n ) 其中 m 為被除數,n 為除數。
所以如果要取 5/2 的餘數,可以像這樣寫。
Mod(5, 2) 使用上會像下面這樣:
{% img /images/posts/ModFunction/1.png %}
Link Oracle/PLSQL: MOD Function
read morePosts
PL/SQL - FLOOR function
FLOOR function 可傳回小於或等於指定數值的最大整數值。
使用語法如下:
FLOOR( number ) 使用上會像下面這樣:
{% img /images/posts/FloorFunction/1.png %}
Link Oracle/PLSQL: FLOOR Function
read morePosts
PL/SQL - CEIL function
CEIL function 可傳回大於或等於指定數值的最小整數值。
使用語法如下:
CEIL( number ) 使用上會像下面這樣:
{% img /images/posts/CeilFunction/1.png %}
Link Oracle/PLSQL: CEIL Function
read morePosts
PL/SQL - Round function
Round function 可將帶入的值依指定的位數下去做四捨五入運算並回傳。
使用語法如下:
ROUND( number [, decimal_places] ) number 是要做四捨五入的值,decimal_places 是要做四捨五入的位數。
這邊的 decimal_places 可以是正值,也可以是負值。如果是正值表示的是小數點後的位數,如果是負值則表示小數點前的位數。
寫起來就像下面這樣:
{% img /images/posts/RoundFunction/1.png %}
{% img /images/posts/RoundFunction/2.png %}
{% img /images/posts/RoundFunction/3.png %}
{% img /images/posts/RoundFunction/4.png %}
{% img /images/posts/RoundFunction/5.png %}
Link Oracle/PLSQL: ROUND Function (with numbers)
read morePosts
PL/SQL - ABS function
ABS function 會將帶入的值取絕對值傳出。
使用語法如下:
ABS( number ) number 為要轉換的數值,如果帶入的是負值,會將其變為正值傳出,就像下面這樣:
{% img /images/posts/ABSFunction/1.png %}
{% img /images/posts/ABSFunction/2.png %}
Link Oracle/PLSQL: ABS Function
read more