在MySQL中,DATE_TRUNC()
函數用于將日期時間值截斷到指定的精度。這個函數對于處理NULL值非常有用,因為它可以確保即使存在NULL值,也能按照預期的格式返回結果。
DATE_TRUNC()
函數的基本語法如下:
DATE_TRUNC(unit, datetime)
其中:
unit
是截斷的精度單位,可以是’YEAR’、‘QUARTER’、‘MONTH’、‘DAY’、‘HOUR’、‘MINUTE’、'SECOND’等。datetime
是要截斷的日期時間值。當datetime
參數為NULL時,DATE_TRUNC()
函數會返回NULL。這意味著,如果你想要在結果集中排除NULL值,你可以使用COALESCE()
函數將NULL值替換為一個具體的日期時間值。
例如,假設你有一個包含日期時間值和NULL值的表events
,你可以使用以下查詢來截斷日期時間列event_time
,并將NULL值替換為’1970-01-01 00:00:00’:
SELECT DATE_TRUNC('DAY', COALESCE(event_time, '1970-01-01 00:00:00')) AS truncated_event_time
FROM events;
這樣,即使event_time
列中存在NULL值,查詢結果也會顯示截斷后的日期時間值,而不是NULL。