以下语句怎样让varchar保留2为小数,和保留到整数位?

select(cast(Z_HOUasvarchar)+'*'+cast(Z_YSasvarchar)+'*'+cast(Z_YXasvarchar))ascfromta... select (cast( Z_HOU as varchar) + '*' + cast(Z_YS as varchar)+'*'+cast(Z_YX as varchar )
) as c from table
展开
 我来答
bhtzu
推荐于2016-04-26 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4200万
展开全部

若要将 float 或 real 转换为字符数据,使用 STR 字符串函数通常比使用 CAST( ) 更有用。 这是因为 STR 能够对格式进行更严格的控制。如果你需要的结果是nvarchar,那么需要两个混用。

select  (str(Z_HOU,10,2) + '*' + str(Z_YS,10,0)+'*' + str(Z_YX,10,0)
) as c from table
追问

语句执行后,数据间隔很宽,怎么缩短?

追答
str会有左对齐空格,加上ltrim吧。
ltrim(str(Z_HOU,10,2)) + '*'
其实,后面两个可以用两次cast:cast(cast(Z_YX as int) as varchar)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式