mysql 处理文本数据_MySQL ------ 数据处理函数(文本、日期、数值)(十)
與大多數(shù)語言一樣,SQL支持利用函數(shù)來處理數(shù)據(jù)。
好處:函數(shù)一般在數(shù)據(jù)上執(zhí)行,給數(shù)據(jù)的轉(zhuǎn)換和處理提供了方便。
可移植的(portable) : 能運(yùn)行在多個(gè)系統(tǒng)上的代碼。
注意:
1、多數(shù)SQL 是可移植的,在不同的DBMS 上雖有差異,但不難處理
2、函數(shù)的可移植性不高,幾乎主要的DBMS 都有各自獨(dú)特的函數(shù)(我行你不行,你行我不行之類),而且差異還很大
3、如果決定使用函數(shù),要寫注釋(--),函數(shù)可以有效的完成工作,利于應(yīng)用程序的性能。
大多數(shù)SQL 實(shí)現(xiàn)支持的類型函數(shù):
1、用于處理文本串(如刪除或填充值,轉(zhuǎn)換值為大寫或小寫)的文本函數(shù)
2、用于在數(shù)值數(shù)據(jù)上進(jìn)行算數(shù)操作(如返回絕對值,進(jìn)行代數(shù)運(yùn)算)的數(shù)值函數(shù)
3、用于處理日期和時(shí)間值并從這些值中提取特定成份(如:返回兩個(gè)日期之差,檢查日期的有效性等)的日期和時(shí)間函數(shù)。
4、返回DBMS 正使用的特殊信息(如返回與用戶登陸信息,檢查版本細(xì)節(jié))的系統(tǒng)函數(shù)。
one、文本處理函數(shù)
簡單使用:
--將名字轉(zhuǎn)換為大寫
select vend_name,Upper(vend_name) as vend_bigname from vendors order by vend_name;
soundex() 函數(shù)匹配所有發(fā)音類似的
要全部包括起來
select 字段 from 表名 where soundex(字段名) = soundex(該字段中發(fā)音類似的值);
Two、日期和時(shí)間處理函數(shù)
日期和時(shí)間采用相應(yīng)的數(shù)據(jù)類型和特殊的格式存儲(chǔ),以便能快速和有效的排序或過濾,并節(jié)省物理存儲(chǔ)空間
一般應(yīng)用程序不使用用來存儲(chǔ)日期和時(shí)間的格式,因此日期和時(shí)間函數(shù)總是被用來讀取統(tǒng)計(jì)和處理這些值。
注意:MySQL 使用的日期格式,無論你什么時(shí)候指定一個(gè)日期,不管是插入、更新或使用where進(jìn)行過濾,
日期的格式必須是 yyyy-mm-dd ,雖然,MySQL支持兩位數(shù)字的年份,但這是首選的(如2020-02-20)
使用的表
我們發(fā)現(xiàn)存儲(chǔ)的數(shù)據(jù)類型是 datetime 格式是 yyyy-MM-dd HH:mm:ss
而我們一般可能需要的只是日期部分,怎么辦來
有兩種方式,
一種是放在程序里取日期部分
另一種是利用函數(shù)只取日期部分
--取日期部分
select order_num,date(order_date) as onlydate from orders order by order_date;
查詢也是,如果只是想查詢?nèi)掌?#xff0c;則要使用Date(),即使你知道相應(yīng)的列只包括日期也是如此
--將日期是2005-09-01 的檢索出來
select order_num,order_date as onlydate from orders where date(order_date)= '2005-09-01' order by order_date;
時(shí)間的范圍查找
--將日期在2005-09-01 到 2005-09-30之間的 的檢索出來
select order_num,order_date as onlydate from orders where date(order_date) between '2005-09-01' and '2005-09-30' order by order_date;
支持多種查詢方式
Three、數(shù)值處理函數(shù)? : 對數(shù)值進(jìn)行處理,一般用于代數(shù)、三角或幾何運(yùn)算
在主要的DBMS 中數(shù)值函數(shù)是最一致最統(tǒng)一的函數(shù)
試一試
總結(jié)
以上是生活随笔為你收集整理的mysql 处理文本数据_MySQL ------ 数据处理函数(文本、日期、数值)(十)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 管理mysql表知识点_数据库复习提纲(
- 下一篇: mysql 查找字符位置_MySQL数据