[英]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.