簡體   English   中英

在 BigQuery 中獲取當月的最后一天 IFNULL

[英]Getting the last day of the current month IFNULL in BigQuery

我有一個end_date列,我需要 map,問題是它有一些 null 值,我想有一個月的最后一天,以防它是 null。

這是我一直在嘗試的,但由於某種原因它不允許我:

IFNULL(CAST(end_date) AS STRING, LAST_DAY(CURRENT_DATE(), month))

我可能做錯了什么?

我設法解決了這個問題,我使用了錯誤的 CAST 語法,我還需要將當月的最后一天作為字符串進行 CAST,這樣我就可以使用 IFNULL。

這是正確查詢的樣子:

DATE(
    IFNULL(
        CAST(end_date AS STRING),
        CAST(LAST_DAY(CURRENT_DATE(), month) AS STRING)
    )
)

@Jaytiger end_date 是 DATE 類型,

我猜如果您希望結果為DATE類型,下面是更簡潔的一個。

IFNULL(DATE(end_date), LAST_DAY(CURRENT_DATE(), month))

例子:


SELECT IFNULL(DATE '2022-08-26', LAST_DAY(CURRENT_DATE(), month)) not_null,
       IFNULL(NULL, LAST_DAY(CURRENT_DATE(), month)) `null`,

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM