sql隐式转换的

来源:百度知道 编辑:UC知道 时间:2024/05/27 12:04:24
我用的是sqlserver2005
有一张表A(int ID,int AGE,varchar NM,bit sex)
当我更新这张表时,使用了

update A
set
AGE = '20'

这个SQL语句运行成功了。即是将一个varchar型转为了int型数据。

请问,是否是SQL语句处理时,会自动尝试转换数据类型。即如同程序中的隐式转换?

是的 比如 int.parse("1");
insert into a(sid,sname) values('1',1)
可以运行成功,但是
insert into a(sid,sname) values('a1',1)
将 varchar 值 'a1' 转换为数据类型为 int 的列时发生语法错误。
insert into a(sid,sname)values(a1,1)
在此上下文中不允许使用 'a1'。此处只允许使用常量、表达式或变量。

从int转成varchar型..只要你的int是正确的..都可以转换

把varchar 转成int 如果varchar中不带字符,只有数字.也是可以转换成功的.但是有字符就不行