sqlserver字符串转日期

时间:2024-03-12 15:07:14

declare   @str   varchar(15)   
  declare   @dt   datetime   
  select   @str=\'2005-8-26\'   
  set   @dt   =     cast   (@str   as   datetime)   --转换为日期付给一个日期型的变量   
  /*print   @dt   
    
  print   convert   (varchar(10),@dt,120)   --转化为不同的格式输出,集体参数看帮助   
  print   convert   (varchar(10),@dt,111)   
  print   convert   (varchar(10),@dt,101)*/   
    
  /*用convert是明确地转换一数据类型表示到另一个,对于dateadd等等日期函数   
  的参数不一定是日期格式,只要可以转化即可,对于convert,字符串和日期是   
  2种不同的格式,这点要注意,我们来看看一个试验:*/   
    
  print   dateadd(dd,1,@str)   
  print   dateadd(dd,1,@dt)   
    
  print   convert   (varchar(10),@str,120)   
  print   convert   (varchar(10),@dt,120)   
    
  /*   
  Aug   27   2005   12:00AM   --dataadd认为字符串\'2005-8-26\'和日期\'2005-8-26\'是一样   
  Aug   27   2005   12:00AM   
  2005-8-26                       /*convert   认为字符串\'2005-8-26\'和日期\'2005-8-26\'不一样*/   
  2005-08-26                     /*对于字符串对应的日期格式失效*/   
  */