【问题标题】:Access SQL/query has truncated field at 25 characters?Access SQL/查询已截断 25 个字符的字段?
【发布时间】:2013-03-20 15:32:36
【问题描述】:

我在 Access 中有这个查询:

SELECT a.title, a.init, a.name, l.User AS CreatedBy,
     IIf(IsNull(l.Time),Null,DateAdd("s",l.Time,#3/1/1980#)) AS CreatedAt
     FROM (Reports AS a LEFT JOIN 
     (SELECT id, Min([time]) AS Mintime FROM AuditLog GROUP BY id) AS t
     ON a.id = t.id) 
     LEFT JOIN AuditLog AS l ON (t.mintime = l.time) AND (t.id = l.id)
     WHERE (((a.name) Like 'start*') AND ((a.Active)='Y'));

但由于某种原因,a.name 在查询中的每个结果中都被截断为 25 个字符。为什么是这样?在表Reports 中它是正确的并显示全名(25+ 个字符长)。

【问题讨论】:

  • 您确定您的意思是 25 而不是 255?
  • @Remou 我知道对吗?现在是 25 岁,我很困惑。

标签: sql ms-access-2010 truncated


【解决方案1】:

请检查表a中name属性的字段长度。 它必须大于您存储的名称。 我认为您的姓名长度大于字段长度。

【讨论】:

    【解决方案2】:

    这可能是由于 a.name 字段的大小。如果该字段设置为 varchar(25),它将只允许 25 个字符。

    -编辑- 还要检查将数据插入该字段的任何过程、查询或外部来源。可能是参数配置错误。

    【讨论】:

    • 表中的a.name是Field Size: 255, Data Type: Text
    • 将数据插入该字段的参数的大小是多少?也许他们是一个程序或其他截断数据的东西?
    【解决方案3】:

    我有两个相似的名称字段,我误读了一个,它确实在实际表中被截断了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多