标量值函数的用法

昨天做一个前台显示,就是数据库有4个字段都是int型,需要前台把它们合成一个字段输出。本来想着在数据库在加一列,后来有人提议用标量值函数,发现这样挺好的。拿来分享一下。

首先新建查询复制下面代码

Code:
  1. SET ANSI_NULLS ON  
  2. GO   
  3. SET QUOTED_IDENTIFIER ON  
  4. GO   
  5. CREATE FUNCTION [dbo].[FormatLocationName](@rack INT,@floor INT,@position INT,@bit INT)   
  6. RETURNS VARCHAR(100)   
  7. AS  
  8. BEGIN  
  9.  DECLARE @strRack VARCHAR(100),@strFloor Varchar(100),@strPosition VARCHAR(100),@strBit varchar(100)   
  10.  DECLARE @strRetrun VaRCHAR(100)   
  11.     
  12.  IF(@rack < 10)   
  13.   BEGIN  
  14.    --IF(@rack < 10)   
  15.     SET @strRack = '0' + CONVERT(VARCHAR(2),@rack)   
  16.    --ELSE   
  17.    -- SET @strRack = CONVERT(VARCHAR(2),@rack)   
  18.   END  
  19.  ELSE  
  20.   SET @strRack = CONVERT(VARCHAR(50),@rack)   
  21.      
  22.  SET @strFloor = CONVERT(VARCHAR(2),@floor)   
  23.      
  24.  IF(@position < 10)   
  25.   BEGIN  
  26.    --IF(@position < 10)   
  27.     --SET @strPosition = '00' + CONVERT(VARCHAR(2),@position)   
  28.    --ELSE IF(@position < 100)   
  29.     SET @strPosition = '0' + CONVERT(VARCHAR(2),@position)   
  30.    --ELSE   
  31.     --SET @strPosition = CONVERT(VARCHAR(2),@position)   
  32.   END  
  33.  ELSE  
  34.   SET @strPosition = CONVERT(VARCHAR(50),@position)   
  35.     
  36.  set @strBit=CONVERT(VARCHAR(2),@bit)   
  37.   
  38.  SET @strRetrun = @strRack + '-' + @strFloor + '-' + @strPosition+'-'+@strBit   
  39.     
  40.  RETURN @strRetrun   
  41. END  

然后

Code:
  1. SELECT dbo.FormatLocationName([row], [floor], [line], [bit]) as LocationName,[row], [floor], [line], [bit]FROM [storeinfo]     

就可以实现不用创建新列就可以组装原有数据库数据了。

http://hi.baidu.com/zwfec/blog/item/91b5bb350c11c198a71e12ed.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值