mysql系統函式 以及常用字段型別

2021-07-25 09:06:07 字數 3654 閱讀 2769

mysql系統函式

數學函式

abs(x)         返回x的絕對值

ceil(x)           返回大於或者等於x的最小整數

floor(x)          返回小於或者等於x的最大函式

rand(x)           返回0-1之間的隨機數

sign(x)        返回x的符號 x是負數 0 正數分別返回-1 0

字串函式

char_length(x)     返回字串s的長度

length(s)        返回字串s的長度

concat(s1,s2,s3)   將多個字串合併成為乙個字串

concat_ws(s,s2,s3) 也是將多個字串合併成為乙個字串   但是在每個字串之間加上乙個s

upper(s),ucase(s)  將字串s的所有字母都變成大寫

lower(s),lcase(s)  將字串s的多有字母都變成小寫

left(s,n)        返回字串s的前n個字元

right(s,n)         返回字串s的後n個字元

lpad(s1,len,s2)    字串s2來填充s1的開始之處,是字串的長度達到len

rpad(s1,len,s2)    字串s2來天從s1的結束之處,使字串長度達到len

trim(s)            去掉字串s開始處和結尾處的空格

trim(s1 from s)  去掉字串s中開始位置和結束位置的字串s1

repeat(s,s1,s2)    用字串s2代替字串s中的字串s1  

repeat('abc',4)    返回由count個字串str連成的乙個字串(任何引數為null時)

strcmp(s1,s2)      比較字串s1,s2

substring(s,n,len) 獲取從字串s中的第n個位置開始長度為len的字串

日期和時間函式

curdate(),current_date()   返回當前日期

curtime(),current_time()   返回當前時間

now(),current_timestamp    返回當前日期和時間

localtime(),sysdate();

unix_timestamp();          返回當前時間的時間戳

unix_timestamp(d);         把unix時間戳的時間轉換成普通格式的時間

month(d)                   返回日期d中的月份值   範圍是1-12

monthname(d)               返回日期d的月份名稱     如january

dayname()                  返回日期d是星期幾       如monday

dayofweek(d)               返回日期d是星期幾  1 表示星期日   2 表示星期2

weekday(d)                 返回日期(d)是星期幾,0是星期一  1是星期二

weekofyear(d)              返回日期d是本年的第幾個星期,範圍是0-53

dayofyear(d)               返回日期d是本月的第幾天

year(d)                    返回日期d的中的年份值

hour(d)                    返回時間d的小時值

extract(type from d)       從日期中獲取指定的值  type返回的是值  如year  hour

time_to_sec(t)             將時間轉化成秒

date_format(d,f)           按照表示式的要求顯示日期d

time_format(t,f)           按照表示式的要求顯示時間t

get_format(type,s)         按照字串s獲取type型別資料的顯示格式

date_format(date,format)

根據format字串格式化date值 

(在format字串中可用標誌符: 

%m 月名字(january……december)   

%w 星期名字(sunday……saturday)   

%d 有英語字首的月份的日期(1st, 2nd, 3rd, 等等。)   

%y 年, 數字, 4 位   

%y 年, 數字, 2 位   

%a 縮寫的星期名字(sun……sat)   

%d 月份中的天數, 數字(00……31)   

%e 月份中的天數, 數字(0……31)   

%m 月, 數字(01……12)   

%c 月, 數字(1……12)   

%b 縮寫的月份名字(jan……dec)   

%j 一年中的天數(001……366)   

%h 小時(00……23)   

%k 小時(0……23)   

%h 小時(01……12)   

%i 小時(01……12)   

%l 小時(1……12)   

%i 分鐘, 數字(00……59)   

%r 時間,12 小時(hh:mm:ss [ap]m)   

%t 時間,24 小時(hh:mm:ss)   

%s 秒(00……59)   

%s 秒(00……59)   

%p am或pm   

%w 乙個星期中的天數(0=sunday ……6=saturday )   

%u 星期(0……52), 這裡星期天是星期的第一天   

%u 星期(0……52), 這裡星期一是星期的第一天   

%% 字元% ) 

條件判斷函式

if(expr,v1,v2)函式      如果表示是expr成立   返回結果v1  否則返回結果v2

case when expr1 then v1 when expr2 then v2 end

set  @a=2

case when @a=2 then 'ok' when @a=3 then 'on' end;

mysql欄位型別

tinyint    有符號的範圍是-128到127   無符號的範圍是0-255

smallint    有符號的是-32768到32767  無符號的範圍是0-65535

mediumint

int   乙個正常大小的整數    10  一般是10位數

float  浮點數  不能無符號

double

decimal  有兩個引數  第乙個引數是浮點數的長度   第二個引數是表示這個浮點數保留幾位小數

date  儲存的是乙個日期   支援的範圍是1000-01-01'到'9999-12-31

datetime  乙個日期和時間的組合  至此的範圍是1000-01-01 00:00:00'到'9999-12-31 23:59:59

timestamp 乙個時間戳

time      乙個時間 範圍是'-838:59:59'到'838:59:59'。

char      乙個定長的字串  範圍是1-255

varchar   乙個變長的字串

mysql 常用字段型別 mysql 常用字段型別

tinyint m unsigned zerofill 1位元組 極小整數,資料型別用於儲存一些範圍的整數數值範圍 有符號 128 127.無符號 255 特別的 mysql中無布林值,使用tinyint 1 構造。smallint 2位元組 小整數有符號 32768 無符號 65535 mediu...

mysql查詢語句常用字段操作函式

一 concat 函式 1 功能 將多個字串連線成乙個字串。2 語法 concat str1,str2,返回結果為連線引數產生的字串,如果有任何乙個引數為null,則返回值為null。3 舉例 例1 select concat id,name,score as info from tt2 同時該函式...

MySql常用字元函式

concat 字元連線 例 select concat my sql concat ws 使用指定的分隔符進行字串連線 例 select concat ws my sql format 數字格式化 例 select format 123456.78,2 lower upper 轉化成大小寫字母 例 ...