【发布时间】:2017-09-27 04:20:20
【问题描述】:
在 where 子句中使用时,字符串中是否有特定数量的字符?
SQL2 = "SELECT DISTINCT " & a & " AS MyString," & b & " FROM tempExtractedtbl"
Set rsGenerate = CurrentDb().OpenRecordset(SQL2)
Do While Not rsGenerate.EOF
SQL3 = "Select intId from IPDMst where TXTliteral='" &
rsGenerate.Fields("MyString").Value & "'"
Set temprsGenerate = CurrentDb().OpenRecordset(SQL3)
这里 tempExtractedtbl 中 MyString 的值为:
PO_EDGE_00503|Device Charge_1|Device
Type~Smartphone~Manufacturer~Apple~Model~iPhone 6~Capacity~32
GB~Colour~Space Grey~Blue Tick~FALSE~4GX~TRUE~Splash Proof~FALSE~Removable
Battery~FALSE~Expandable Memory~FALSE~HD Video
Recording~TRUE~NFC~TRUE~Featured~FALSE~Bonus Gift~FALSE~Operating
System~ios~Hot Buy~FALSE~Root Offering~Mobility Offer~
但是当它存储在记录集中时,MyString 的值被修剪为 255 个字符。当我执行
?rsGenerate.Fields("MyString").Value
在即时窗口中,我将 MyString 作为
PO_EDGE_00503|Device Charge_1|Device
Type~Smartphone~Manufacturer~Apple~Model~iPhone 6~Capacity~32
GB~Colour~Space Grey~Blue Tick~FALSE~4GX~TRUE~Splash Proof~FALSE~Removable
Battery~FALSE~Expandable Memory~FALSE~HD Video
Recording~TRUE~NFC~TRUE~Featured~F
当我执行 SQL3 时,由于 MyString 被修剪,我收到以下错误。
备注字段的记录集是否有任何限制,因为 MyString 是具有备注数据类型的字段。有没有办法在记录集中存储长度超过 255 个字符的字符串并使用它?
【问题讨论】:
-
...错误会是什么? (将它们添加到问题的底部)
-
我无法复制这个。当您将 where 语句存储在查询 SQL 中时,它受到 SQL 语句中允许的字符总数(65536 个字符)的限制。如果您指的是一个表,我认为您可以达到 1GB 的字符串,但我没有尝试过这些是否适用于 WHERE 语句。