取消
顯示的結果
而不是尋找
你的意思是:

java.time。LocalDate例外日期列時使用“在”運營商取代where子句

ChinmayU
新的因素

你好,我們最近做了一個升級到磚倉庫,從SQL經典過渡到SQL PRO。然而,我們遇到以下錯誤消息,當試圖執行“插入”表查詢”取代“謂詞,雇傭了”“操作日期列。這個查詢以前工作正常與經典的倉庫。

錯誤信息:

2023-05-17(類java.time.LocalDate)

重現步驟:

1。上創建一個源表分區的產品和country_code和插入值。

創建或替換表< catalog_name >。“違約”。“source_sales”(product_code int、產品字符串,country_code字符串,txn_date日期,int)用δ分區(產品、country_code);插入< catalog_name >。“違約”。“source_sales”值(“12”,“product1”,“在”,日期“2023-04-19”,1234年),(“21”、“product2”,“在”,日期“2023-04-20”,1243年),(“34”,“product3”,“在”,日期“2023-04-21”,2345年),(“56”、“product4”,“英國”,日期“2023-05-03”,3456年),(‘78’,‘product5’,‘我們’,日期“2022-05-17”,3214年),(‘89’,‘product6’,‘我們’,日期“2022-05-18”,3254年);

2。創建一個目標表插入所有從源表選中列的值。插入應該成功

創建或替換表< catalog_name >。“違約”。target_sales用δ分區(產品、country_code) tblproperties (“spark.databricks.delta.replacewhere.constraintcheck.enabled”=“假”)作為選擇產品,country_code, txn_date,從< catalog_name >。“違約”。“source_sales”;

3所示。更新和在源表中插入新行

更新< catalog_name >。“違約”。“source_sales”設置數量= ' 1200 ' country_code在(“的”,“我們”);插入< catalog_name >。“違約”。“source_sales”值(‘91’,‘product7’,‘我們’,日期“2023-05-19”,5678年);

4所示。更新/選擇性地覆蓋目標表替代的地方

創建或替換臨時視圖的sales_temp選擇產品,country_code txn_date、數量,從< catalog_name >。“違約”。“source_sales”country_code在(“的”,“我們”);插入表< catalog_name >。“違約”。target_sales取代,((country_code =‘我們’和產品=“product3”和txn_date(“2023-05-17”,“2023-05-18”,“2023-05-19”))或(country_code =””和產品=“product1”和txn_date (“2023-04-19”,“2023-04-20”,“2023-04-21”))) select * from (“sales_temp”);

期望的行為:

target_sales表應該從source_sales更新數據表按條件的替代

觀察到的行為:

當我們使用txn_date列以及“在”運營商在取代謂詞得到錯誤為:2023-05-17(類java.time.LocalDate)

版本:
LTS磚運行時版本:12.2
JDBC URL: 2.6.25或更高版本
渠道:當前(2023.30 v)

注意:

  1. 當我們使用“之間”運算符,而不是在運營商與txn_date列,執行“插入取代,”查詢成功。然而,對於我們的用例,我們特別需要使用“在”運算符。我們遇到一個錯誤隻有當我們比較txn_date列列表的日期使用“在”操作符。
  2. 我們也嚐試鑄造中使用的字符串值”在“操作日期類型,但錯誤依然存在。

錯誤描述提供了很少的信息這一問題,因此沒能找到解決辦法。我們將感謝任何幫助或指導你可以提供解決這一問題。提前謝謝你的幫助。

0回答0
歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map