Sql Server 2008:将数据插入表时出现问题

时间:2013-07-04 05:47:18

标签: sql-server-2008 sybase-ase

我正在尝试在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',因为它在生成的输出文件中创建了一些格式化问题。 任何建议如何保留。

2 个答案:

答案 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不能总是转换为整数。