亚洲精品久久久久久第一页-人妻少妇精彩视品一区二区三区-91国产自拍免费视频-免费一级a在线播放视频正片-少妇天天日天天射天天爽-国产大屁股喷水视频在线观看-操美女骚穴抽插性爱视频-亚洲 欧美 中文字幕 丝袜-成人免费无码片在线观看

sql語句格式化時間格式 sql在線格式化快捷鍵


sql語句格式化時間格式 sql在線格式化快捷鍵

文章插圖
今天是SQL系列的第三講,我們會講解條件查詢,文本處理,百分比,行數(shù)限制,格式化以及子查詢 。
條件查詢
IF條件查詢
#if的語法IF(expr1,expr2,expr3)#示例SELECT IF(sva=1,"男","女") AS s FROM table_name WHERE sva != '';?CASE WHEN條件查詢
case when 可以實現(xiàn)if函數(shù)的功能,同時也可以聯(lián)合各類聚合函數(shù)使用 。
# case when也可以實和if一樣的功能?SELECT CASE WHEN sva=1 THEN '男'ELSE '女' END AS s FROM table_nameWHERE sva != '';#case when可以聯(lián)合聚合函數(shù)等使用?SELECT count(DISTINCT CASEWHEN sva=1 THEN 'id'ELSE 'null'END) AS sFROM TABLE_NAMEWHERE sva != '';文本處理
SUBSTR()字符串截取
substr語法詳解:
substr(strings|express,m,[n])
strings|express :被截取的字符串或字符串表達(dá)式
m 從第m個字符開始截取
n 截取后字符串長度為n
示例:selectsubstr('abcdefg',3,4)fromdual;#結(jié)果是cdefselectsubstr('abcdefg',-3,4)fromdual;#結(jié)果efgselectsubstr('abcde',2),substr('abcde',-2),substr('abcde',2,3),substr('abcdewww',-7,3)fromdual;# 結(jié)果是bcde、de、bcd、bcd字符串拼接
1.使用特殊操作符拼接
#ACESS和SQL Serve使用+SELECT vend_name + ' (' + vend_country + ')'FROM VendorsORDER BY vend_name;#DB2,Oracle, PostgreSQL,SQLite ,Open Office Base使用||SELECT vend_name || ' (' || vend_country || ')' FROM VendorsORDER BY vend_name;2.CONCAT()函數(shù)拼接
SELECTConcat(vend_name,'(',vend_country,')')FROMVendorsORDERBYvend_name;SPLIT()字符串分割
語法結(jié)構(gòu)
split(str, regex) – Splits
str:需要分割的字符
regex:以什么符號進(jìn)行分割
1.基本用法
split('a,b,c,d',',')#得到的結(jié)果:["a","b","c","d"]2.截取字符串中的某個值
當(dāng)然,我們也可以指定取結(jié)果數(shù)組中的某一項
split('a,b,c,d',',')[0]#得到的結(jié)果:a3.特殊字符的處理
特殊分割符號
regex 為字符串匹配的參數(shù),所以遇到特殊字符的時候需要做特殊的處理
#例3:"."點(diǎn)split('192.168.0.1','.')#得到的結(jié)果:[]#正確的寫法:split('192.168.0.1','\.')#得到的結(jié)果:["192","168","0","1"]LENGTH()返回字符串長度
SELECT length(vend_name) vend_lenFROM VendorsORDER BY vend_name;LOWER()/UPPER()將字符串轉(zhuǎn)換為小寫或大寫
SELECT vend_name, LOWER(vend_name)ASvend_name_lowcase,UPPER(vend_name) AS vend_name_upercase FROMVendorsORDER BY vend_name;REPLACE()字符串替換
#將adress字段中的區(qū)替換為”嘔“select*,replace(address,'區(qū)','嘔')ASrepfrom test_tbLEFT()/RIGHT()返回字符串左邊或右邊的字符
select left(CONTRACT_NAME,2)fromgb_t_contract where 1=1;#從字符表達(dá)式最左邊一個字符開始返回指定數(shù)目的字符.#若 b 的值大于 a 的長度,則返回字符表達(dá)式的全部字符a.如果 b 為負(fù)值或 0,則返回空字符串.select left('2323232',9) ;# 返回值為空LTRIM()/RTRIM()/TRIM()去掉字符串左邊/右邊或全部空格
selectltrim('sample')fromtable;#返回結(jié)果:'sample 'selectrtrim('sample')fromtable;#返回結(jié)果:' sample'selecttrim('sample')fromtable;# 返回結(jié)果:'sample'SOUNDEX() 返回字符串SOUNDEX值
#近似匹配SELECT cust_name, cust_contact FROM Customers WHERE SOUNDEX(cust_contact) = SOUNDEX('Michael Green');CAST數(shù)據(jù)類型轉(zhuǎn)換
# 將str類型的dt字段轉(zhuǎn)換為int類型的selectcast(dtasint)dtfrom table取百分比
percentile()
語法格式:
percentile_approx(DOUBLE col, p ,[B])) 近似中位數(shù)函數(shù)
percentile(DOUBLE col, p ) 中位函數(shù)
前者多了一個參數(shù)B,后者無參數(shù),其余語法一致 。
求近似的第pth個百分位數(shù),p必須介于0和1之間,返回類型為double,但是col字段支持浮點(diǎn)類型 。參數(shù)B控制內(nèi)存消耗的近似精度,B越大,結(jié)果的準(zhǔn)確度越高 。默認(rèn)為10,000 。當(dāng)col字段中的distinct值的個數(shù)小于B時,結(jié)果為準(zhǔn)確的百分位數(shù) 。


以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請您及時就醫(yī)或請專業(yè)人士給予相關(guān)指導(dǎo)!

「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對您有所幫助: