MySQL函數大全及用法示例(三)

dayofweek(date)

返回日期date是星期幾(1=星期天,2=星期一,……7=星期六,odbc標準)

mysql> select dayofweek('1998-02-03');

-> 3

weekday(date)

返回日期date是星期幾(0=星期一,1=星期二,……6= 星期天)。

mysql> select weekday('1997-10-04 22:23:00');

-> 5

mysql> select weekday('1997-11-05');

-> 2

dayofmonth(date)

返回date是一月中的第幾日(在1到31范圍內)

mysql> select dayofmonth('1998-02-03');

-> 3

dayofyear(date)

返回date是一年中的第幾日(在1到366范圍內)

mysql> select dayofyear('1998-02-03');

-> 34

month(date)

返回date中的月份數值

mysql> select month('1998-02-03');

-> 2

dayname(date)

返回date是星期幾(按英文名返回)

mysql> select dayname("1998-02-05");

-> 'thursday'

monthname(date)

返回date是幾月(按英文名返回)

mysql> select monthname("1998-02-05");

-> 'february'

quarter(date)

返回date是一年的第幾個季度

mysql> select quarter('98-04-01');

-> 2

week(date,first)

返回date是一年的第幾周(first默認值0,first取值1表示周一是

周的開始,0從周日開始)

mysql> select week('1998-02-20');

-> 7

mysql> select week('1998-02-20',0);

-> 7

mysql> select week('1998-02-20',1);

-> 8

year(date)

返回date的年份(范圍在1000到9999)

mysql> select year('98-02-03');

-> 1998

hour(time)

返回time的小時數(范圍是0到23)

mysql> select hour('10:05:03');

-> 10

minute(time)

返回time的分鐘數(范圍是0到59)

mysql> select minute('98-02-03 10:05:03');

-> 5

second(time)

返回time的秒數(范圍是0到59)

mysql> select second('10:05:03');

-> 3

period_add(p,n)

增加n個月到時期p并返回(p的格式y(tǒng)ymm或yyyymm)

mysql> select period_add(9801,2);

-> 199803

period_diff(p1,p2)

返回在時期p1和p2之間月數(p1和p2的格式y(tǒng)ymm或yyyymm)

mysql> select period_diff(9802,199703);

-> 11

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()的同義詞,也

可以用運算符+和-而不是函數

date是一個datetime或date值,expr對date進行加減法的一個表

達式字符串type指明表達式expr應該如何被解釋

[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值時結果是一個

date值,否則結果是一個datetime值)

如果type關鍵詞不完整,則mysql從右端取值,day_second因為缺

少小時分鐘等于minute_second)

如果增加month茄菊、year_month或year,天數大于結果月份的最大天

數則使用最大天數)

mysql> select "1997-12-31 23:59:59" + interval 1 second;

-> 1998-01-01 00:00:00

mysql> select interval 1 day + "1997-12-31";

-> 1998-01-01

mysql> select "1998-01-01" - interval 1 second;

-> 1997-12-31 23:59:59

mysql> select date_add("1997-12-31 23:59:59",interval 1

second);

-> 1998-01-01 00:00:00

mysql> select date_add("1997-12-31 23:59:59",interval 1

day);

-> 1998-01-01 23:59:59

mysql> select date_add("1997-12-31 23:59:59",interval

"1:1" minute_second);

-> 1998-01-01 00:01:00

mysql> select date_sub("1998-01-01 00:00:00",interval "1

1:1:1" day_second);

-> 1997-12-30 22:58:59

mysql> select date_add("1998-01-01 00:00:00", interval "-1

10" day_hour);

-> 1997-12-30 14:00:00

mysql> select date_sub("1998-01-02", interval 31 day);

-> 1997-12-02

mysql> select extract(year from "1999-07-02");

-> 1999

mysql> select extract(year_month from "1999-07-02

01:02:03");

-> 199907

mysql> select extract(day_minute from "1999-07-02

01:02:03");

-> 20102

to_days(date)

返回日期date是西元0年至今多少天(不計算1582年以前)

mysql> select to_days(950501);

-> 728779

mysql> select to_days('1997-10-07');

-> 729669

from_days(n)

給出西元0年至今多少天返回date值(不計算1582年以前)

mysql> select from_days(729669);

-> '1997-10-07'

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), 這里星期一是星期的第一天

%% 字符% )

mysql> select date_format('1997-10-04 22:23:00','%w %m %

y');

-> 'saturday october 1997'

mysql> select date_format('1997-10-04 22:23:00','%h:%i:%

s');

-> '22:23:00'

mysql> select date_format('1997-10-04 22:23:00','%d %y %a

%d %m %b %j');

-> '4th 97 sat 04 10 oct 277'

mysql> select date_format('1997-10-04 22:23:00','%h %k %i

%r %t %s %w');

-> '22 22 10 10:23:00 pm 22:23:00 00 6'

time_format(time,format)

和date_format()類似,但time_format只處理小時、分鐘和秒(其

余符號產生一個null值或0)

curdate()

current_date()

以'yyyy-mm-dd'或yyyymmdd格式返回當前日期值(根據返回值所

處上下文是字符串或數字)

mysql> select curdate();

-> '1997-12-15'

mysql> select curdate() + 0;

-> 19971215

curtime()

current_time()

以'hh:mm:ss'或hhmmss格式返回當前時間值(根據返回值所處上

下文是字符串或數字)

mysql> select curtime();

-> '23:50:26'

mysql> select curtime() + 0;

-> 235026

now()

sysdate()

current_timestamp()

以'yyyy-mm-dd hh:mm:ss'或yyyymmddhhmmss格式返回當前日期

時間(根據返回值所處上下文是字符串或數字)

mysql> select now();

-> '1997-12-15 23:50:26'

mysql> select now() + 0;

-> 19971215235026

unix_timestamp()

unix_timestamp(date)

返回一個unix時間戳(從'1970-01-01 00:00:00'gmt開始的秒

數,date默認值為當前時間)

mysql> select unix_timestamp();

-> 882226357

mysql> select unix_timestamp('1997-10-04 22:23:00');

-> 875996580

from_unixtime(unix_timestamp)

以'yyyy-mm-dd hh:mm:ss'或yyyymmddhhmmss格式返回時間戳的

值(根據返回值所處上下文是字符串或數字)

mysql> select from_unixtime(875996580);

-> '1997-10-04 22:23:00'

mysql> select from_unixtime(875996580) + 0;

-> 19971004222300

from_unixtime(unix_timestamp,format)

以format字符串格式返回時間戳的值

mysql> select from_unixtime(unix_timestamp(),'%y %d %m %

h:%i:%s %x');

-> '1997 23rd december 03:43:30 x'

sec_to_time(seconds)

以'hh:mm:ss'或hhmmss格式返回秒數轉成的time值(根據返回值所處上下文是字符串或數字)

mysql> select sec_to_time(2378);

-> '00:39:38'

mysql> select sec_to_time(2378) + 0;

-> 3938

time_to_sec(time)

返回time值有多少秒

mysql> select time_to_sec('22:23:00');

-> 80580

mysql> select time_to_sec('00:39:38');

-> 2378

轉換函數

cast

用法:cast(字段 as 數據類型) [當然是否可以成功轉換网梢,還要看數據類型強制轉化時注意的問題]

實例:select cast(a as unsigned) as b from cardserver where order by b desc;

convert:

用法:convert(字段,數據類型)

實例:select convert(a ,unsigned) as b from cardserver where order by b desc;

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末震缭,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子战虏,更是在濱河造成了極大的恐慌拣宰,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件烦感,死亡現場離奇詭異巡社,居然都是意外死亡,警方通過查閱死者的電腦和手機手趣,發(fā)現死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門晌该,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人绿渣,你說我怎么就攤上這事朝群。” “怎么了中符?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵潜圃,是天一觀的道長。 經常有香客問我舟茶,道長谭期,這世上最難降的妖魔是什么堵第? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮隧出,結果婚禮上踏志,老公的妹妹穿的比我還像新娘。我一直安慰自己胀瞪,他們只是感情好针余,可當我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著凄诞,像睡著了一般圆雁。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上帆谍,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天伪朽,我揣著相機與錄音,去河邊找鬼汛蝙。 笑死烈涮,一個胖子當著我的面吹牛,可吹牛的內容都是我干的窖剑。 我是一名探鬼主播坚洽,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼西土!你這毒婦竟也來了讶舰?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤需了,失蹤者是張志新(化名)和其女友劉穎跳昼,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體援所,經...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡庐舟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了住拭。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片挪略。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖滔岳,靈堂內的尸體忽然破棺而出杠娱,到底是詐尸還是另有隱情,我是刑警寧澤谱煤,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布摊求,位于F島的核電站,受9級特大地震影響刘离,放射性物質發(fā)生泄漏室叉。R本人自食惡果不足惜睹栖,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望茧痕。 院中可真熱鬧野来,春花似錦、人聲如沸踪旷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽令野。三九已至舀患,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間气破,已是汗流浹背聊浅。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留堵幽,地道東北人狗超。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓弹澎,卻偏偏與公主長得像朴下,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子苦蒿,可洞房花燭夜當晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內容

  • 轉自公眾號‘java一日一條’ 3.日期函數 dayofweek(date) 返回日期date是星期幾(1=星期天...
    LOOK_LOOK閱讀 471評論 0 1
  • 一殴胧、MySQL 獲得當前日期時間 函數 1.1 獲得當前日期+時間(date + time)函數:now() my...
    極簡架構閱讀 1,218評論 0 1
  • DAYOFWEEK(date) 返回日期date是星期幾(1=星期天,2=星期一,……7=星期六,ODBC標準)m...
    雨中漫步的北極熊閱讀 640評論 0 1
  • 天南地北 獨來獨往還獨行 愛恨的過往 也可以笑著說曾經 大海荒漠雪山地平線 還有故土的四季 都算是途徑 莽莽蒼蒼天...
    南陽雅月閱讀 141評論 0 0
  • 在濕悶的長夏佩迟,想起了:“鐘整個大陸的愛在一只苦瓜”团滥。也許在沉沉的暮色中,加上一杯淡啤酒报强,會很搭灸姊。 淚中有笑、苦后有...
    歲月聲響閱讀 194評論 0 1