首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sql server中的大小写条件?对于Decimals数据类型?

sql server中的大小写条件?对于Decimals数据类型?
EN

Stack Overflow用户
提问于 2012-01-04 19:18:57
回答 3查看 3.1K关注 0票数 1

在Sql server中,我正在尝试编写一个查询,如果值小于零,我希望显示“<0”,否则显示相同的值。为此,我写了这样一个简单的查询:我知道它提供了转换错误,但你能在这方面提供帮助吗?

代码语言:javascript
复制
declare @ret decimal = 0.25    
select (case when @ret <0 then  '< 0'  else  @ret  end) as colum     
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-04 19:22:39

试试这个,注意关于小数的精度修饰符

代码语言:javascript
复制
declare @ret decimal(10,5) =0.25
select case when @ret < 0 THEN '< 0'  ELSE cast(@ret as varchar) end as colum
票数 3
EN

Stack Overflow用户

发布于 2012-01-04 19:21:35

SInce您没有为@ret变量指定精度和小数位数,小数位数默认为0 (请参阅MSDNThe default scale is 0),只需在声明变量时指定小数位数:

代码语言:javascript
复制
DECLARE @ret DECIMAL(10,2) = 0.25 

SELECT 
     CASE 
          WHEN @ret < 0 THEN '< 0' 
          ELSE CAST(@ret AS VARCHAR)
    END
票数 1
EN

Stack Overflow用户

发布于 2012-01-04 19:37:07

TSQL中使用CASE的基本示例

代码语言:javascript
复制
declare @iDec decimal(10,5) = 10.5
SELECT   ProductNumber, 
      Category =
      CASE ProductLine
         WHEN @iDec > 1 THEN 'Greater Than 1'
         WHEN @iDec < 1 THEN 'Less Than 1'
         ELSE 'Equal to 1'
      END,
      Name
FROM Production.Product
ORDER BY ProductNumber;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8725956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档