第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

MySQL SELECT WHERE日期時(shí)間匹配日期(不一定是時(shí)間)

MySQL SELECT WHERE日期時(shí)間匹配日期(不一定是時(shí)間)

慕娘9325324 2019-10-15 15:36:45
我有一個(gè)包含datetime列的表。我希望無(wú)論何時(shí)都返回給定日期的所有記錄。換句話說(shuō),如果我的表僅包含以下4條記錄,那么如果我限制為2012-12-25,則僅返回第二和第三條記錄。2012-12-24 00:00:002012-12-25 00:00:002012-12-25 06:00:002012-12-26 05:00:00
查看完整描述

3 回答

?
交互式愛(ài)情

TA貢獻(xiàn)1712條經(jīng)驗(yàn) 獲得超3個(gè)贊

永遠(yuǎn)不要使用像這樣的選擇器DATE(datecolumns) = '2012-12-24'-它是性能殺手:


它將DATE()為所有不匹配的行(包括那些行)計(jì)算

它將無(wú)法使用索引進(jìn)行查詢

使用起來(lái)更快


SELECT * FROM tablename 

WHERE columname BETWEEN '2012-12-25 00:00:00' AND '2012-12-25 23:59:59'

因?yàn)檫@將允許索引使用而無(wú)需計(jì)算。


編輯


正如Used_By_Already所指出的那樣,自2012年最初回答以來(lái),出現(xiàn)了一些MySQL版本,在該版本中使用'23:59:59'作為結(jié)束日不再安全。更新后的版本應(yīng)為


SELECT * FROM tablename 

WHERE columname >='2012-12-25 00:00:00'

AND columname <'2012-12-26 00:00:00'

答案的要旨,即在計(jì)算出的表達(dá)式上避免選擇器,當(dāng)然仍然存在。


查看完整回答
反對(duì) 回復(fù) 2019-10-15
?
波斯汪

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超4個(gè)贊

... WHERE date_column >='2012-12-25' AND date_column <'2012-12-26'(如果您在date_column上有索引)可能比更好地工作DATE。


查看完整回答
反對(duì) 回復(fù) 2019-10-15
?
12345678_0001

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個(gè)贊

您可以使用%:


SELECT * FROM datetable WHERE datecol LIKE '2012-12-25%'


查看完整回答
反對(duì) 回復(fù) 2019-10-15
  • 3 回答
  • 0 關(guān)注
  • 2126 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)