我必须自定义查询的特定列值。我有四种类型的案例,例如
empcode AbsentDays
1 0.00
6 0.50
2 1.00
3 1.50
4 2.00
5 2.50
我的预期输出将是
1 0
6 0.5
2 1
3 1.5
4 2
5 2.5
为此,我尝试了以下内容
AbsentDays = case
when AbsentDays = 0.00
then convert(int, AbsentDays)
when AbsentDays >= 1.00
then convert(decimal(10, 1), AbsentDays)
-- when AbsentDays = 0.50
-- then 0.5
end
但是使用此方法我无法获得想要的结果,它覆盖了其他值。
答案 0 :(得分:2)
一列只能有一个数据类型。为了以您描述的方式查看不同的情况,您必须使用p <- ggplot(data = plot.data, aes(x = X, y = Y, color = Species)) +
geom_point() +
scale_color_brewer(palette = "Set2") +
theme_bw()
p
/ varchar
数据类型:
nvarchar
答案 1 :(得分:0)
您可以通过将其强制转换为float
来实现,因为小数点后的最右边的零在float
中被修剪:
select empcode, cast(AbsentDays as float)
from tbl
答案 2 :(得分:0)
不要转换为浮点数,您会失去精度。
SELECT FORMAT(CAST(2.0 AS DECIMAL(9,6)), 'g15') -- will print 2
SELECT FORMAT(CAST(0.50 AS DECIMAL(9,6)), 'g15') -- will print 0.5