【发布时间】:2011-02-25 16:27:38
【问题描述】:
UPDATE CustomerPhone
SET PhoneTypeID = 7, PhoneNumber = 999-444
WHERE CustomerID = 500 AND PhoneNumber = 9-1-1;
PhoneNumber 是 varchar(20) 类型,而 PhoneTypeID 和 CustomerID 是 int 类型。我在 SQL Server 中运行上述语句,它运行良好。
我想知道它是如何工作的?我认为任何字符串值都必须放在'...'之间
【问题讨论】:
-
尝试在 PhoneNumber 列中输入“asdasd”之类的文本。还能用吗?
-
@peace: 实际插入了什么值....字符串值
9-1-1或7?我希望7。 -
性能不一致。以前可以用,现在一直报错:Conversion failed when convert the varchar value ....
-
@peace:当列中的数据无法静默转换或强制转换为您在 WHERE 子句中
=右侧传递的数据类型时,您将收到该错误.听起来你有一些数据不能被强制转换成数字。 -
顺便说一句! 9-1-1,给我 7...你是对的...
标签: sql-server database tsql dml