CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  应用实例

求一sql语句

楼主gsh945(太平洋底)2004-12-02 18:19:38 在 MS-SQL Server / 应用实例 提问

有表:tmp  
                            车牌号:   varchar     班次:       varchar  
  有一条记录:     12345                           1/2  
   
  我现在想对   班次   字段求和  
  select   isnull(sum(cast(班次   as   numeric(9,1))),0)   as   rfbc   from   tmp  
   
  一运行就出错,我怎么将'1/2'转换成   0.5   ?  
  谢谢!!  
  问题点数:20、回复次数:4Top

1 楼guanshiyu123(就欺负你..宝)回复于 2004-12-02 18:36:01 得分 2

sql中没有直接把1/2转换成0.5的函数,  
  你自己写个转换函数吧(当然前提是在你的"班次"中的值都是诸如'1/2'之类的)Top

2 楼renfeiyang(任飞扬)回复于 2004-12-02 18:39:19 得分 0

convert能行不?Top

3 楼chly1010(云淡风清)回复于 2004-12-02 18:46:43 得分 10

CREATE   FUNCTION     Char_To_Num(@char   varchar(20))  
  RETURNS     numeric(9,2)     AS      
  BEGIN    
  declare   @s1   varchar(10)  
  declare   @s2   varchar(10)  
  declare   @num   numeric(9,2)  
  set   @s1=''  
  set   @s2=''  
  set   @s1=substring(@char,0,charindex('/',@char,0))  
  set   @s2=substring(@char,charindex('/',@char,0)+1,20)  
  set   @num=convert(numeric(9,2),@s1)/convert(numeric(9,2),@s2)  
  return   @num  
  END  
  --测试  
  select   testdb.dbo.Char_To_Num('400/200')Top

4 楼Microsoft110(逍遥)回复于 2004-12-02 18:53:28 得分 8

表t1(a)  
  数据:1/2  
  1/3  
   
  select   convert(numeric(9),substring(a,1,charindex('/',a)-1   ))/convert(numeric(9),substring(a,charindex('/',a)+1   ,len(a)))   from   t1Top

相关问题

  • 一SQL语句?
  • 一个SQL语句
  • 一个SQL语句?
  • 一条sql语句
  • 求一sql语句!
  • 求一sql语句!!
  • 求一sql语句
  • 求一 SQL语句
  • 求一SQL语句
  • 一个SQL语句!

关键词

  • 班次
  • numeric
  • charindex
  • varchar
  • convert
  • substring
  • num
  • declare
  • char
  • set

得分解答快速导航

  • 帖主:gsh945
  • guanshiyu123
  • chly1010
  • Microsoft110

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo