无错列名称语法为[My Column]
而不是My Column
会导致错误。
无错误的字符串值语法为'25,00'
而不是25,00
会导致错误。
如果列数据类型为数字,则使用单引号括起值时出错。有没有其他方法可以安全地为字符串或数字数据类型包含值?
答案 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
作为数字插入,那么数据库如何将其与两个数字区分开来?