簡體   English   中英

在 Oracle SQL 中查找導致錯誤的行

[英]Finding the row causing error in Oracle SQL

我有一個包含大量數據的 sql 表。 它的片段如下所示。

在此處輸入圖像描述

我想通過減去一個月來更改“ACCT_YR_MTH”列並以“yyyymm”格式表示。

我的查詢如下。

select * from CLAIM_FACT where
ACCT_YR_MTH = to_char(add_months(to_date(to_char('$$Acct_Yr_Mth') || '01', 'yyyymmdd'), -1) , 
'yyyymm');

但我收到一條錯誤消息,提示“輸入了非法年份”。 下面給出了錯誤的片段。

在此處輸入圖像描述

我不確定為什么會發生此錯誤,以及如何檢查導致此錯誤的行。 。任何幫助是極大的贊賞。 謝謝

您的查詢 mqakes 沒有意義,但'$$Acct_Yr_Mth'是 atring。 由於我在下面寫的查詢謊言沒有意義,我認為你有一個沒有被替換的變量

CREATE TABLE CLAIM_FACT(Acct_Yr_Mth VARCHAR2(6))
 INSERT INTO CLAIM_FACT VALUES ('198511')
 

1 行受影響

select * from CLAIM_FACT where Acct_Yr_Mth = to_char(add_months(to_date(Acct_Yr_Mth , 'yyyymm'), -1) , 'yyyymm');
 |  ACCT_YR_MTH |
 |  :------------ |

db<> 在這里擺弄

暫無
暫無

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

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