我很困惑。我理解零長度字符串和空值之間區別的基礎知識,但我不明白這裏發生了什麼。在Access中奇偶行爲的MID和零長度字符串
我有一個訪問表,其中包含來自outlook CONTENTS郵件正文的導入信息,然後我使用追加查詢將電子郵件正文中的信息拆分爲第二個更有用的表。例如,如果電子郵件的主體具有TITLE:10 FEET UNDER和AUTHOR:JOHN DOE,則它將使用MID函數檢索「10 FEET UNDER」以捕獲TITLE:和AUTHOR:之間的所有內容。
一切都很好,直到一位使用該程序的工作人員報告由於極少數情況下TITLE之後的文本爲空白而發生錯誤。
我跑各種測試,併爲理由,我不明白,在所有的,在MID功能的「空白」稱號運行LEN給出了2
結果然而,沒有空格,不被識別爲null,並且附加內容就像一個零長度的字符串。
我可以通過LEN([TITLE])<>「2」設置標準來擺脫「空白」的條目,但它看起來不夠雅緻。爲什麼它在標題外觀下添加到新表中時產生2的LEN,並且像零長度字符串一樣行事?
如果有幫助,標題的目標表被設置爲'允許零長度字符串=否',儘管它似乎沒有聽到該規則。
有人可以向我解釋發生了什麼事嗎?
Title:Mid([Contents],InStr([Contents],"Title:")+10,InStr([Contents],"Author:")-(InStr([Contents],"Title:")+10))