关于网友提出的“固定值的长度问题”问题疑问,本网通过在网上对“固定值的长度问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:固定值的长度问题
描述: 问题是这样发生的
SELECT 'A' AS TABLENAME FROM TEST1
UNION ALL
SELECT 'CCC' AS TABLENAME FROM TEST2
这时你会发现TABLENAME的长度都是3,这是因为在没有定义长度时,数据库默认为CHAR类型,长度是固定的,如果不够就用空格填充,为了不想变成CHAR就需要做如下修改
SELECT CAST('A' as VARCHAR(3)) AS TABLENAME FROM TEST1
UNION ALL
SELECT CAST('CCC' AS TABLENAME) FROM TEST2
这样长度就会随字符串而改变了。
解决方案1:开发者的福利到了,devstore将拿出十万,悬赏写评测报告的开发者,参与就有奖。
解决方案2:union操作限制:相同的列数和相应的列具有兼容的数据类型
解决方案3: 是的,就是设置固定值的时候
CASE这种 这种如果长度不固定的话应该也会
解决方案4:实际过程中都直接是列名进行union,也不会有这样的问题.
以上介绍了“固定值的长度问题”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/1509762.html