我正在尝试在Sql Server 2008R2中的列中插入一个值:
Create table Test
(
Age varchar(3) NOT NUll
)
insert into test value ('030')
Output:
30
当我在Sybase中尝试相同的事情时:
Output:030
关注: 我需要在Sql Server 2008R2中保持'0',因为它在生成的输出文件中创建了一些格式化问题。 任何建议如何保留。
答案 0 :(得分:1)
SQL 2008的语法略有不同,{}
变为()
而insert into [tablename] value ()
变为insert into [tablename] values ()
所以要使它在SQL 2008中运行。
Create table Test
(
Age varchar(3) NOT NUll
)
insert into test values ('030')
SELECT * FROM test
顺便问你为什么要使用varchar而不是char?
答案 1 :(得分:0)
'030'仅被sql server解释为整数30。 此外,当您尝试在varchar字段中插入一个整数时,它会很好地插入它,因为varchar字段接受任何字母数字值。 但是,反过来这样做可能会引发错误,因为varchar不能总是转换为整数。