第八課、 使用資料處理函式
預習與回顧:
第七課介紹了計算字段以及如何建立計算字段以及如何建立和使用別名,以便應用程式能引用計算字段;第八課介紹什麼是函式,dbms支援何種函式,以及如何使用這些函式,還講解為什麼sql函式的使用可能會帶來問題。
8.1、函式
函 數
語 法提取字串的組成部分
access使用mid();db2、oracle、postgresql和sqlite使用substr();mysql和sql server使用substring()
資料型別轉換
access和oracle使用多個函式,每種型別的轉換有乙個函式;db2和postgresql使用cast();mariadb、mysql和sql server使用
convert()
取當前日期
access使用now();db2和postgresql使用current_date;mariadb和mysql使用curdate();oracle使用sysdate;sql server
使用getdate();sqlite使用date()
8.2、使用函式
8.2.1、文字處理函式
函 數
說 明left()(或使用子字串函式)
返回字串左邊的字元
length()(也使用datalength()或len())
返回字串的長度
lower()(access使用lcase())
將字串轉換為小寫
ltrim()
去掉字串左邊的空格
right()(或使用子字串函式)
返回字串右邊的字元
rtrim()
去掉字串右邊的空格
soundex()
返回字串的soundex值
upper()(access使用ucase())
將字串轉換為大寫
輸入▼select vend_name, upper(vend_name) as vend_name_upcase
from vendors
order by vend_name;
使用rtrim()函式來去除列值右邊的空格。
soundex
是乙個將任何文字串轉換為描述其語音表示的字母數字模式的演算法。
soundex
考慮了類似的發音字元和音節,使得能對字串進行發音比較而不是字母比較。
輸入▼select cust_name, cust_contact
from customers
wheresoundex(cust_contact) = soundex('michael green');
where子句使用soundex()函式把cust_contact列值和搜尋字串轉換為它們的soundex值。因為michael green和michellegreen發音相似,所以它們的soundex值匹配,因此where子句正確地過濾出了所需的資料
8.2.2、日期和時間處理函式
輸入▼select order_num
from orders
where datepart(yy,order_date) = 2012;---檢索2023年的所有訂單
datepart()
函式,顧名思義,此函式返回日期的某一部分。datepart()函式有
兩個引數,它們分別是返回的成分和從中返回成分的日期。
between操作符:
輸入▼select order_num
from orders
where order_date betweento_date('01-01-2012')
and to_date('12-31-2012');
輸入▼select order_num
from orders
where strftime('%y',order_date) = 2012;
這裡給出的例子提取和使用日期的成分(年)。按月份過濾,可以進行相同的處理,指定and操作符以及年和月份的比較。
8.3.3數值處理函式
函 數
說 明abs()
返回乙個數的絕對值
cos()
返回乙個角度的余弦
exp()
返回乙個數的指數值
pi()
返回圓周率
sin()
返回乙個角度的正弦
sqrt()
返回乙個數的平方根
tan()
返回乙個角度的正切
第八課 函式
1.id 標識 2.type 型別 3.value 值 關於可變物件的修改,可以參考下面程式理解 a 1,2,3 首先給a賦值列表,1,2,3 print a,id a 列印a,和a的id a 0 6 換掉列表a的第乙個值,改為6 print a,id a 列印a,和a的id,a的id和之前的一樣。...
第八課 混合
第八課 混合 opengl中的混色 在opengl中實現混色的步驟類似於我們以前提到的opengl過程。接著設定公式,並在繪製透明物件時關閉寫深度快取。因為我們想在半透明的圖形背後繪製 物件。這不是正確的混色方法,但絕大多數時候這種做法在簡單的專案中都工作的很好。rui martins 的補充 正確...
第八課 陣列
1 宣告 int arr string str 2 分配空間 arr new int 5 3 宣告同時分配記憶體 int arr new int 5 4 初始化 int arr new int 5 int arr2 1 宣告 int arr string str 2 分配空間 1 直接為每一維分配空...