CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

求两个将DataTime 分别转换成日期和时间的字符串数据库自定义函数,谢谢大哥们

楼主yptang0(一叶知秋)2005-04-02 09:21:59 在 MS-SQL Server / 基础类 提问

要装换成这样的   "20040405"   和   "081223"     DateTime   是这样2005-1-17   10:44:40       的请教这两个数据库自定义函数怎么写!谢谢大哥们 问题点数:0、回复次数:6Top

1 楼adminis(古董)回复于 2005-04-02 09:24:49 得分 0

Convert(Varchar(14),   DateTime,   112)Top

2 楼zjcxc(邹建)回复于 2005-04-02 09:32:29 得分 0

declare   @dt   datetime  
  set   @dt='2005-1-17   10:44:40'  
   
  --转换  
  select   convert(char(8),@dt,112),replace(convert(char(8),@dt,108),':','')  
  --结果:20050117       104440  
   
  Top

3 楼zjcxc(邹建)回复于 2005-04-02 09:36:25 得分 0

--写成自定义函数就是  
  create   function   f_convert(@dt   datetime,@bz   bit)returns   varchar(15)  
  as  
  begin  
  if   @bz=0     --@bz=0则转换为日期  
  return(convert(char(8),@dt,112))  
  else   if   @bz=1     --@bz=0则转换为时间  
  return(replace(convert(varchar(8),@dt,108),':',''))  
  --@bz=null则转换为日期+时间  
  return(convert(char(8),@dt,112)  
  +'   '  
  +replace(convert(varchar(8),@dt,108),':',''))  
  end  
  go  
   
  --调用  
  select   date=dbo.f_convert('2005-1-17   10:44:40',0)  
  ,time=dbo.f_convert('2005-1-17   10:44:40',1)  
  ,date_time=dbo.f_convert('2005-1-17   10:44:40',null)  
  go  
   
  /*--结果  
  date                         time                         date_time                
  ---------------   ---------------   ---------------    
  20050117                 104440                     20050117   104440  
   
  (所影响的行数为   1   行)  
  --*/  
  Top

4 楼yptang0(一叶知秋)回复于 2005-04-02 10:25:04 得分 0

CREATE     FUNCTION   dbo.RetStringTime   (@Time   DateTime)      
  RETURNS   varchar(20)   AS      
  BEGIN    
  declare   @OutTime   varchar(5)  
  set   @OutTime=replace(convert(char(8),@Time   ,108),':','')  
   
  RETURN(@OutTime)  
  END  
   
  为什么我写成这样返回的时间   是这样的   10472Top

5 楼zjcxc(邹建)回复于 2005-04-02 10:36:33 得分 0

CREATE     FUNCTION   dbo.RetStringTime   (@Time   DateTime)      
  RETURNS   varchar(20)   AS      
  BEGIN    
  declare   @OutTime   varchar(6)     --varchar(5)     --这里定义得太小,截断了  
  set   @OutTime=replace(convert(char(8),@Time   ,108),':','')  
   
  RETURN(@OutTime)  
  ENDTop

6 楼yptang0(一叶知秋)回复于 2005-04-02 10:39:16 得分 0

我也看到了谢谢已经搞定了   谢谢你们Top

相关问题

  • 【自定义函数】如何返回未知长度的字符串?【一百分】
  • 自定义函数问题:请问怎样在函数中求字符串表达式?
  • 用LoadResource函数调入的自定义资源(二进制字符串)如何释放?
  • 如何给自定义消息处理函数传递一个字符串内容?100
  • 麻烦请教一个自定义函数,取得某个字符串指定的前几位的字节数!
  • 字符串函数?
  • 字符串函数
  • 自定义函数
  • 自定义函数
  • 自定义函数

关键词

  • 函数
  • 转换
  • date
  • 自定义函数
  • convert
  • bz
  • dt
  • 日期
  • 时间
  • dbo

得分解答快速导航

  • 帖主:yptang0

相关链接

  • SQL Server类图书

广告也精彩

反馈

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