TSQLT 单元测试 - 数据类型文本和文本在等于运算符中不兼容

Posted

技术标签:

【中文标题】TSQLT 单元测试 - 数据类型文本和文本在等于运算符中不兼容【英文标题】:TSQLT unit test - The data types text and text are incompatible in the equal to operator 【发布时间】:2012-08-30 09:22:51 【问题描述】:

我从 AssertEqualsTable 收到此错误“数据类型文本和文本在等于运算符中不兼容。”

然后

“'TableCompare' 过程试图返回 NULL 状态,这是不允许的。将返回状态 0。”

select   *
    into #Actual
    from [dbo].[InvoiceOut];

--make expected table an empty table of #actual's structure because we truncate so it should be empty.
    SELECT TOP(0) *
    INTO #Expected
    FROM #Actual;

EXEC tSQLt.AssertEqualsTable '#Expected', '#Actual';

--部分相关表格信息

CREATE TABLE [dbo].[InvoiceOut](
...
    [InsertField] [text] NULL,
    [DeductibleText] [text] NULL,
    [BarcodeText] [text] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

【问题讨论】:

你不应该仍然使用文本数据类型,它已被弃用。这是您的数据结构的一个问题,需要修复。 你能解释一下为什么它是关键的吗? WHERE clause on SQL Server "Text" data type的可能重复 【参考方案1】:

我认为您无法比较文本字段值,这可以解释错误。

此外,不推荐使用 text 数据类型,取而代之的是 varchar(MAX)。

见this

【讨论】:

以上是关于TSQLT 单元测试 - 数据类型文本和文本在等于运算符中不兼容的主要内容,如果未能解决你的问题,请参考以下文章

假设单元格B1为文本100.单元格B2为数值3,则COUNT(B1:B2)等于

WPS或EXCEL如何让文本框引用单元格内的内容?

vba中如何将单元格内容强制转换为文本类型?

winform文本框中显示 EXCEL指定单元格的数据

JAVA中导出Excel将全部单元格设置为文本样式,就是导出的没有数据的单元格类型的设置

vba中怎么用代码将单元格内容转换为文本类型?