1. 字符串函數(shù)
此處僅僅是列舉常用的
1. ascii(str) - 返回字符串str的第一個字符的ascii值(str是空串時返回0)
2. concat(str1,str2,...) - 把參數(shù)連成一個長字符串并返回(任何參數(shù)是null時返回null)
3. length(str) - 返回字符串的長度,一個漢字是算三個字符芒帕,一個數(shù)字或字母算一個字符。
4. locate(substr,str) - 返回字符串substr在字符串str第一次出現(xiàn)的位置(str不包含substr時返回0)
5. locate(substr,str,pos) - 返回字符串substr在字符串str的第pos個位置起第一次出現(xiàn)的位置(str不包含substr時返回0)
6. instr(str,substr) - 返回字符串substr在字符串str第一次出現(xiàn)的位置(str不包含substr時返回0)
7. lpad(str,len,padstr) - 用字符串padstr填補str左端直到字串長度為len并返回
8. rpad(str,len,padstr) - 用字符串padstr填補str右端直到字串長度為len并返回
9. left(str,len) - 返回字符串str的左端len個字符
10. right(str,len) - 返回字符串str的右端len個字符
11. substring(str,pos,len) - 返回字符串str的位置pos起len個字符
12. substring(str,pos) - 返回字符串str的位置pos起的一個子串
13. ltrim(str) - 返回刪除了左空格的字符串str
14. rtrim(str) - 返回刪除了右空格的字符串str
15. space(n) - 返回由n個空格字符組成的一個字符串
16. replace(str,from_str,to_str) - 用字符串to_str替換字符串str中的子串from_str并返回
17. reverse(str) - 顛倒字符串str的字符順序并返回
18. insert(str,pos,len,newstr) - 把字符串str由位置pos起len個字符長的子串替換為字符串
19. lower(str) - 返回小寫的字符串str
20. upper(str) - 返回大寫的字符串str
21. substring_index(str,delim,count) - 如果count是正數(shù)惹骂,那么就是從左往右數(shù)魂拦,第N個分隔符的左邊的全部內(nèi)容
22. char_length(str) - 不管漢字還是數(shù)字或者是字母都算是一個字符毛仪。
2. 數(shù)字與數(shù)學(xué)函數(shù)
1. abs(n) - 求絕對值
2. mod(n,m) - 取模運算,返回n被m除的余數(shù)(同%操作符)
3. floor(n) - 返回不大于n的最大整數(shù)值
4. ceiling(n) - 返回不小于n的最小整數(shù)值
5. round(n,d) - 返回n的四舍五入值,保留d位小數(shù)(d的默認值為0)
6. pow(x,y) - 返回值x的y次冪
7. sqrt(n) - 返回非負數(shù)n的平方根
8. pi() - 返回圓周率
9. rand() - 返回在范圍0到1.0內(nèi)的隨機浮點值
10. truncate(n,d) - 保留數(shù)字n的d位小數(shù)并返回
3. 日期時間函數(shù)
1. dayofweek(date) - 返回日期date是星期幾(1=星期天,2=星期一,……7=星期六,odbc標準)
2. weekday(date) - 返回日期date是星期幾(0=星期一,1=星期二,……6= 星期天)
3. year(date) - 返回date的年份(范圍在1000到9999)
4. month(date) - 返回date中的月份數(shù)值
5. dayofmonth(date) - 返回date是一月中的第幾日(在1到31范圍內(nèi))
6. hour(time) - 返回time的小時數(shù)(范圍是0到23)
7. minute(time) - 返回time的分鐘數(shù)(范圍是0到59)
8. second(time) - 返回time的秒數(shù)(范圍是0到59)
9. period_add(p,n) - 增加n個月到時期p并返回(p的格式y(tǒng)ymm或yyyymm)
10. period_diff(p1,p2) - 返回在時期p1和p2之間月數(shù)(p1和p2的格式y(tǒng)ymm或yyyymm)
11. curdate() - 以'yyyy-mm-dd'或yyyymmdd格式返回當前日期值(根據(jù)返回值所處上下文是字符串或數(shù)字)
12. curtime() - 以'hh:mm:ss'或hhmmss格式返回當前時間值(根據(jù)返回值所處上下文是字符串或數(shù)字)
13. now() - 以'yyyy-mm-dd hh:mm:ss'或yyyymmddhhmmss格式返回當前日期時間(根據(jù)返回值所處上下文是字符串或數(shù)字)
14. last_day(date) - date日期所在月的最后一天是什么時候
15. current_timestamp, current_timestamp() - 獲得當前時間戳函數(shù)
16. datediff(d1,d2) - 兩個日期d1,d2之間相差的天數(shù)
17. from_unixtime(time-stamp) - 日期轉(zhuǎn)時間戳
4. 其他
date_add(date,interval expr type)
date_sub(date,interval expr type)
adddate(date,interval expr type)
subdate(date,interval expr type)
對日期時間進行加減法運算
(adddate()和subdate()是date_add()和date_sub()的同義詞,也
可以用運算符+和-而不是函數(shù)
date是一個datetime或date值,expr對date進行加減法的一個表
達式字符串type指明表達式expr應(yīng)該如何被解釋
[type值 含義 期望的expr格式]:
second 秒 seconds
minute 分鐘 minutes
hour 時間 hours
day 天 days
month 月 months
year 年 years
minute_second 分鐘和秒 "minutes:seconds"
hour_minute 小時和分鐘 "hours:minutes"
day_hour 天和小時 "days hours"
year_month 年和月 "years-months"
hour_second 小時, 分鐘, "hours:minutes:seconds"
day_minute 天, 小時, 分鐘 "days hours:minutes"
day_second 天, 小時, 分鐘, 秒 "days
hours:minutes:seconds"
expr中允許任何標點做分隔符,如果所有是date值時結(jié)果是一個
date值,否則結(jié)果是一個datetime值)
如果type關(guān)鍵詞不完整,則mysql從右端取值,day_second因為缺
少小時分鐘等于minute_second)
如果增加month晨另、year_month或year,天數(shù)大于結(jié)果月份的最大天
數(shù)則使用最大天數(shù))
5. 日期格式化
date_format(date,format)
date_format(date,format)
根據(jù)format字符串格式化date值
(在format字符串中可用標志符:
%m 月名字(january……december)
%w 星期名字(sunday……saturday)
%d 有英語前綴的月份的日期(1st, 2nd, 3rd, 等等潭千。)
%Y 年, 數(shù)字, 4 位
%y 年, 數(shù)字, 2 位
%a 縮寫的星期名字(sun……sat)
%d 月份中的天數(shù), 數(shù)字(00……31)
%e 月份中的天數(shù), 數(shù)字(0……31)
%m 月, 數(shù)字(01……12)
%c 月, 數(shù)字(1……12)
%b 縮寫的月份名字(jan……dec)
%j 一年中的天數(shù)(001……366)
%h 小時(00……23)
%k 小時(0……23)
%h 小時(01……12)
%i 小時(01……12)
%l 小時(1……12)
%i 分鐘, 數(shù)字(00……59)
%r 時間,12 小時(hh:mm:ss [ap]m)
%t 時間,24 小時(hh:mm:ss)
%s 秒(00……59)
%s 秒(00……59)
%p am或pm
%w 一個星期中的天數(shù)(0=sunday ……6=saturday )
%u 星期(0……52), 這里星期天是星期的第一天
%u 星期(0……52), 這里星期一是星期的第一天
%% 字符% )
6. 轉(zhuǎn)換函數(shù)
- 字符串與數(shù)字之間轉(zhuǎn)換
(1) 字符串轉(zhuǎn)換成數(shù)字
方法一:SELECT CAST('123' AS SIGNED);
方法二:SELECT '123'+0;//親測有效
方法三:SELECT CONVERT('123',SIGNED);
(2) 數(shù)字轉(zhuǎn)換成字符串
使用concat函數(shù)
- 字符串與日期之間轉(zhuǎn)換
日期轉(zhuǎn)換成字符串使用date_format函數(shù)
字符串轉(zhuǎn)換成日期str_to_date(str,format);
注:format格式必須和str的格式相同借尿,否則返回空