关于SQL server的数据类型隐式转换解决办法

关于SQL server的数据类型隐式转换
看执行计划的时候,有时会发现数据有隐式转化的问题,这里问下,为什么有时候转的是表中的数据,有时候是传入的参数?我们该避免隐式转化的,但如果实在没能避掉,怎么让SQL去转参数的类型,而不是表中数据的类型?关于SQL server的数据类型隐式转换解决办法关于SQL server的数据类型隐式转换解决办法
------解决方案--------------------
传参的时候,参数类型要和目标数据的一模一样。之所以有时候是数据而不是参数,是因为你转换的是数据与数据,说白了就是不是参数引起的转换
------解决方案--------------------
直接在前面装换一下

比如参数是@i 

可以 select @=cast(@i as varchar(10))

NEXT是下面的语句。
------解决方案--------------------
这是编码规范的和设计的问题。
什么样的数据应该用什么类型,统一规范后就这样设计、编码。
哪有随意变换类型的!