有两种。
1.转换(int,字段名)
例如:选择convert(int,'3')
选择cast('3'作为int)
一般来说,没有必要将字符串转换为数字类型,如果你需要比较两个字段是相等的,但为字符串类型字段,类型,用“=”来比较这两个值是相等的,SQLSERVER将自动将字符串转换为一个数字,然后比较。
扩展资料:
注意事项:
这两个函数都执行强制转换,但是语法不同。据说有一些不同的转换,但我更习惯于使用转换函数,它更像一个函数的语法一方面,可以指定的格式转换,将时间和价值转换为一个字符串。
对于数据类型的确切值,转换后的字符串是我们存储的值。如:
声明@iintset@i=123456789print'test:'+转换(varchar(20),@i)
输出是:test:123456789
对于具有近似值的数据类型,情况就不那么简单了。
声明@ifloatset@i=123456789print'test:'+转换(varchar(20),@i):test:1.23457e+008
在做项目中,使用了float类型来定义一些列,如:Price,但是发现了很多问题1、当值的位数大于6位是float型再转varchar型的时候会变为科学技术法显示
此时只好将float型转换成numeric型,再转换成varchar
2、float型变量在存入值时,有时值得大小会发生改变。这个现象发生在对报价保存时,如:保存一个3.8,但到了数据库中变成了3.80001124或3.79998999等
在SqlServer的帮助中是这样描述float类型的:用于表示浮点数字数据的近似数字数据类型。浮点数据为近似值;并非数据类型范围内的所有数据都能精确地表示。
所以今后这个类型一定要慎用
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)