34,588
社区成员
发帖
与我相关
我的任务
分享
-- convert 使用两次,第一次转换成 float ,这个不带后面的0 ,第二次转成 varchar 。再拼接你的结果
-- 大概如下,我没有测试,LZ 研究一下。
drop table mytable
go
create table mytable(a numeric(10,2),b numeric(10,2))
go
insert into mytable values(10,5)
insert into mytable values(10.10,5.2)
insert into mytable values(10,5.2)
go
select * from mytable
go
select a,b, convert(varchar(10),convert(float,a)) + '*' + convert(varchar(30),convert(float,b)) from mytable
go
----------------------------------------------------------------
-- Author :DBA_HuangZJ(发粪涂墙)
-- Date :2014-05-07 13:37:20
-- Version:
-- Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64)
-- Apr 2 2010 15:48:46
-- Copyright (c) Microsoft Corporation
-- Enterprise Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: ) (Hypervisor)
--
----------------------------------------------------------------
--> 测试数据[HUANG]
if object_id('[HUANG]') is not null drop table [HUANG]
go
create table [HUANG]([直径] numeric(4,2),[壁厚] numeric(3,2))
insert [HUANG]
select 10,5 union all
select 10.10,5.2 union all
select 10.00,5.20
--------------生成数据--------------------------
select *,CAST([直径]*[壁厚] AS NUMERIC(4,2)) AS [规格]
from [HUANG]
----------------结果----------------------------
/*
直径 壁厚 规格
--------------------------------------- --------------------------------------- ---------------------------------------
10.00 5.00 50.00
10.10 5.20 52.52
10.00 5.20 52.00
*/