我无法在线找到这个问题的具体答案。如果我采用一个tinyint字段并像这样抛出:'(DT_STR,2,1252)some_id'单位数字会发生什么? 7会变成'7'还是'7'?
我在MSDN网站上发现了一些字符串为空终止并截断的文档,但是并没有具体说明比该版本更短的int会发生什么。
谢谢!
答案 0 :(得分:2)
在这样的情况下,我发现测试和观察更容易。
确保我们拥有正确数据类型的简单查询
SELECT cast(10 AS tinyint) AS src
UNION ALL SELECT cast(2 AS tinyint) AS src
将我们的tinyint转换为字符串并在末尾添加一些内容以查看它是左边还是右边。
(DT_STR,2,1252) [src] + "X"
LEN((DT_STR,2,1252)src + "X")
我实际上感到很惊讶,我原本预计它会被正确填充,但事实并非如此。
src Concated Length
10 10X 3
2 2X 2