如何在SQL命令中包含值?

时间:2009-10-11 01:09:58

标签: sql syntax string numbers compiler-errors

无错列名称语法为[My Column]而不是My Column会导致错误。

无错误的字符串值语法为'25,00'而不是25,00会导致错误。

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

4 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

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

SELECT CONVERT(decimal(5,2),'1234,56')

答案 2 :(得分:1)

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

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

答案 3 :(得分:0)

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

'25,00'之类的值是有效的,因为引号使其成为字符串,而25,00因为逗号而不是有效数字(至少不在您的世界中)。

如果您要将25,00作为数字插入,那么数据库如何将其与两个数字区分开来?