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

简单的语法问题

楼主dxphero(火鸟hero)2005-06-27 15:59:10 在 MS-SQL Server / 基础类 提问

1。oracle   中用到的to_char   、to_date在sqlserver中不能用,如果我规定一个系统时间格式为(“yyyy-mm-dd”)的形式应该如何来写。  
  2。select   ddm||flm||bm   as   id   from   my_table   此语句在sqlserver中出现错误提示。在oracle中却正常。 问题点数:20、回复次数:3Top

1 楼kylike(学无止境,直到那一天)回复于 2005-06-27 16:20:55 得分 10

你的第1个问题:  
  在SQLSERVER   中可设置用于“输入”   datetime   或   smalldatetime   数据的  
  日期部分(月/日/年)的顺序。     注意是输入的格式,而非设置输出的格式  
   
  ----------------源自   MSHelp   文档---------  
   
  SET   DATEFORMAT   mdy  
  GO  
  DECLARE   @datevar   datetime  
  SET   @datevar   =   '12/31/98'  
  SELECT   @datevar  
  GO  
   
  SET   DATEFORMAT   ydm  
  GO  
  DECLARE   @datevar   datetime  
  SET   @datevar   =   '98/31/12'  
  SELECT   @datevar  
  GO  
   
  SET   DATEFORMAT   ymd  
  GO  
  DECLARE   @datevar   datetime  
  SET   @datevar   =   '98/12/31'  
  SELECT   @datevar  
  GO  
   
  -------------------------------------------------------------------  
  你的第2个问题  
  select   ddm||flm||bm   as   id   from   my_table    
  在SQL中不支持“||”的写法。  
  select   ddm+flm+bm   as   id   from   my_table         --   则可以受支持的。  
  Top

2 楼nm3000(苹果2004)回复于 2005-06-27 16:41:40 得分 10

Public   Function   change_date(ByVal   ls_source   As   String)   As   String  
                  Dim   ls_year   As   String   =   ""  
                  Dim   ls_month   As   String   =   ""  
                  Dim   ls_day   As   String   =   ""  
                  If   ls_source   =   Nothing   Or   ls_source   =   ""   Then  
                          Return   ""  
                  Else  
                          If   System.Convert.ToDateTime(ls_source).Year.ToString()   =   "1900"   Then  
                                  Return   ""  
                          Else  
                                  ls_year   =   System.Convert.ToDateTime(ls_source).Year.ToString()  
                                  ls_month   =   System.Convert.ToDateTime(ls_source).Month.ToString()  
                                  ls_day   =   System.Convert.ToDateTime(ls_source).Day.ToString()  
                                  If   Integer.Parse(ls_month)   <   10   Then  
                                          ls_month   =   "0"   +   ls_month  
                                  End   If  
                                  If   Integer.Parse(ls_day)   <   10   Then  
                                          ls_day   =   "0"   +   ls_day  
                                  End   If  
                                  Return   ls_year   +   "-"   +   ls_month   +   "-"   +   ls_day  
                          End   If  
                  End   If  
          End   Function  
  改变日期格式  
  change_date(列名)Top

3 楼hglhyy(為人民币服务!)回复于 2005-06-27 16:47:05 得分 0

建议你把的日期型字段   转为字符型好了!  
   
  Top

相关问题

  • 简单的语法!
  • 语法问题.......简单!
  • 简单的语法问题
  • 简单VFP语法问题!!!
  • 简单的语法问题
  • 简单语法问题
  • 简单的语法问题!
  • 简单的语法问题
  • 简单的,vb语法到c#语法转换
  • 请教简单的 C# 语法 转换为 VB.net 的语法

关键词

  • source
  • datevar
  • ls
  • flm
  • datetimeset
  • todatetime
  • ddm
  • 格式
  • dateformat
  • 问题

得分解答快速导航

  • 帖主:dxphero
  • kylike
  • nm3000

相关链接

  • SQL Server类图书

广告也精彩

反馈

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