我想在SSMS中转换varchar为a .decimal
如果我硬编码一个值,那么演员表是成功的.但是如果我尝试使用变量,那么该值将被截断.使用该convert功能时也会发生这种情况.
为什么会发生这种情况,我如何使用变量将其varchar转换为正确的decimal?
例:
Select Cast('3.24' As Decimal(4, 3));
Result: 3.24
Declare @Number Varchar = '3.24';
Select Cast(@Number As Decimal(4, 3));
Result: 3.00
Declare @Number Varchar = '3.24';
Select Convert(decimal(4,3), @Number)
Result: 3.00
Run Code Online (Sandbox Code Playgroud)
你需要给出@Number一个长度.默认值为1,因此它只保留第一个数字(3).
试试这个:
Declare @Number Varchar(20) = '3.24';
Select Cast(@Number As Decimal(4,2));
Result: 3.24
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
43 次 |
| 最近记录: |