【问题标题】:Linqpad error: String or binary data would be truncatedLinqpad 错误:字符串或二进制数据将被截断
【发布时间】:2017-05-10 13:59:18
【问题描述】:

由于某种原因,我在尝试将输入参数之一放入临时表时收到错误 String or binary data would be truncated。有谁知道为什么?

--Psuedo-Trans Table--

DECLARE @item nvarchar(50)       = '511010200'

--Drop temp table
IF object_id('TempDB..#parameters') IS NOT NULL

    DROP Table #parameters

CREATE TABLE #parameters(

   item varchar

)

insert into #parameters
(item)
values (@item)

select * from #parameters

【问题讨论】:

    标签: sql linqpad


    【解决方案1】:

    声明varchar(n)时,如果数据定义或变量声明语句中没有指定长度n,则默认长度为1。

    所以你最好把item varchar改成item varchar(50)。

    但是请注意您的@item 是nvarchar,将是varchar 长度的两倍,这意味着您至少需要声明varchar(18) 以存储您的示例数据。以防万一任何数据大于您的示例,您最好声明为@item 最大值的 2 倍。或者最简单的方法是item nvarchar(50)

    【讨论】:

    • create table 部分
    猜你喜欢
    • 2015-04-29
    • 1970-01-01
    • 1970-01-01
    • 2017-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-22
    • 1970-01-01
    相关资源
    最近更新 更多