0

没有错误的列名语法[My Column]My Column导致错误。

没有错误的字符串值语法'25,00'25,00导致错误。

如果列数据类型是数字,则使用单引号将值括起来时出现错误。是否有任何其他方法可以安全地为字符串或数字数据类型包含值?

4

4 回答 4

2

数值没有任何附件或逗号。

对于字符串,根据您的设置,在某些数据库中它可以是单引号或双引号。

于 2009-10-11T01:15:29.083 回答
1

在 SQL Server 中,Cast / Convert 函数是区域感知的。因此,在查询中使用转换,将数字作为带引号的字符串传递,将其转换为所需的十进制类型。例如:

SELECT CONVERT(decimal(5,2),'1234,56')
于 2009-10-11T01:27:48.560 回答
1

使用引号时可能会出错,因为字符串 '25,00' 不是有效的十进制数。检查您的 RDBMS 文档,了解字符串是如何隐式转换为数字类型的。

如果没有引号,我相信,无论您身在何处,25,00 也是无效的。SQL 标准不允许使用逗号作为小数分隔符来指定文字数字。

于 2009-10-11T01:43:03.053 回答
0

像这样的列名My Column会因为其中的空格而导致错误。[My Column]消除歧义。

诸如此类的值'25,00'是有效的,因为引号使其成为字符串,而25,00由于逗号,它不是有效的数字(至少在您所在的地区不是)。

如果您要插入25,00一个数字,数据库如何将它与两个数字区分开来?

于 2009-10-11T01:17:56.910 回答