展开全部
有两种。
1、convert(int,字段名)
例如:select convert(int,'3')
2、cast(字段名 as int) 例如:select cast('3' as int)
一般情况下没有必要把字符串转换为数字类型,假如需32313133353236313431303231363533e78988e69d8331333431356636要比较两个字段是否相等,但是一个字段为字符串类型,一个为数字类型,用“=”比较两个值是否相等时,SQL SERVER会自动把字符串转换为数字再比较的。
扩展资料:
注意事项
这两个函数的作用都是进行类型转换,只不过语法格式不同。据说在转换时还是有一定的区别的,不过我个人更习惯于使用convert函数,应该这个函数一方面更像是个函数的语法,另一方面在做时间和数值转换成字符串时还可以指定转换的格式。
对于精确数值的数据类型,转换出来的字符串就是我们存储的数值。比如:
declare @i intset @i=123456789print 'test:'+convert(varchar(20),@i)
输出就是:test:123456789
而如果对于近似数值的数据类型,那么可就没有那么简单了。
declare @i floatset @i=123456789print 'test:'+convert(varchar(20),@i)
输出结果:test:1.23457e+008