在我的存储过程中
为什么我必须将课程转换为varchar(不写完整的存储过程),而我的DB中的course_id是int类型,在转换之后它正常工作可能是什么原因
@course int =null,
SET @query = @query + 'Where course_id='+ cast(@course as varchar)
Run Code Online (Sandbox Code Playgroud)
在一个VARCHAR + INT表达中,VARCHAR是隐含的INT,而不是相反.
这个查询:
SELECT '12' + 345
Run Code Online (Sandbox Code Playgroud)
将返回357,而不是'12345',而这一个:
SELECT 'ab' + 1
Run Code Online (Sandbox Code Playgroud)
会失败而不是回归 'ab1'
如果你想要字符串连接,你应该使用显式转换,这是你正在做的.
| 归档时间: |
|
| 查看次数: |
58 次 |
| 最近记录: |