sql幾個常用函式
5,LPAD()函式------------RPAD()是從右到左填充
lpad函式是Oracle資料庫函式,lpad函式從左邊對字串使用指定的字元進行填充。從其字面意思也可以理解,l是left的簡寫,
pad是填充的意思,所以lpad就是從左邊填充的意思。
LPAD((select (nvl(max(substr(id,9)),0)+1) from MARKETING_BUILDING_REF),4,'0') -----設定一個id號
語法格式如下:
語法格式如下:
lpad( string, padded_length, [ pad_string ] )
string
準備被填充的字串;
padded_length
填充之後的字串長度,也就是該函式返回的字串長度,如果這個數量比原字串的長度要短,lpad函式將會把字串擷取成從左到右的n個字元;
pad_string
填充字串,是個可選引數,這個字串是要貼上到string的左邊,如果這個引數未寫,lpad函式將會在string的左邊貼上空格。
6,bigDecimal():函式
Java在java.math包中提供的API類BigDecimal,用來對超過16位有效位的數進行精確的運算。
雙精度浮點型變數double可以處理16位有效數。在實際應用中,需要對更大或者更小的數進行運算和處理。
float和double只能用來做科學計算或者是工程計算,在商業計算中要用java.math.BigDecimal。
BigDecimal所建立的是物件,我們不能使用傳統的+、-、*、/等算術運算子直接對其物件進行數學運算,
而必須呼叫其相對應的方法。方法中的引數也必須是BigDecimal的物件。構造器是類的特殊方法,專門用來建立物件,特別是帶有引數的物件
BigDecimal一共有4個構造方法:
BigDecimal(int) 建立一個具有引數所指定整數值的物件。
BigDecimal(double) 建立一個具有引數所指定雙精度值的物件。(不建議採用)
BigDecimal(long) 建立一個具有引數所指定長整數值的物件。
BigDecimal(String) 建立一個具有引數所指定以字串表示的數值的物件
注:當double必須用作BigDecimal的源時,請使用Double.toString(double)轉成String,然後使用String構造方法,或使用BigDecimal的靜態方法valueOf,
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
1,加法運算:---並將結果值轉換為double值
b1.add(b2).doubleValue();
2,減法運算:---
b1.subtract(b2).doubleValue();
3,乘法運算:---
b1.multiply(b1).doubleValue();
4,除法運算:(保留小數後兩位)
b1.divide(b2, 2, RoundingMode.HALF_UP));
如:1.35
對數值取值:
1.a.setScale(1,BigDecimal.ROUND_DOWN);
取一位小數,直接刪除後面多餘位數,故取值1.3.
2.a.setScale(1,BigDecimal.ROUND_UP);
取一位小數,刪除後面位數,進一位,故取值1.4.
3.a.setScale(1,BigDecimal.ROUND_HALF_UP);
取一位小數,四捨五入,故取值1.4.
4.a.setScale(1,BigDecimal.ROUND_HALF_DOWN);
取一位小數,五舍六入,故取值1.3.
7,substr()-字元擷取函式
格式1: substr(string string, int a, int b);
格式2:substr(string string, int a) ;
格式1:
1、string 需要擷取的字串
2、a 擷取字串的開始位置(注:當a等於0或1時,都是從第一位開始擷取)
3、b 要擷取的字串的長度
格式2:
1、string 需要擷取的字串
2、a 可以理解為從第a個字元開始擷取後面所有的字串。
8,CONCAT():函式----一般模糊查詢拼接字元
CONCAT(CONCAT('%',%#{引數值}),'%')
(sql函式具體介紹)阿里雲連結地址:https://help.aliyun.com/knowledge_detail/64813.html#h2-u529Fu80FDu63CFu8FF02