日期转字符:
select convert(char(30),getdate(),120)字符转日期:
select cast('2005-11-22' as datetime)
select cast(datetime,'2005-11-22')

解决方案 »

  1.   

    查看联机帮助 CONVERT()/CAST() 这两个函数的使用说明。
      

  2.   

    1.日期-->字符
    declare @date1 datetime
    set @date1='1999-1-1'
    select convert(char(10),@date1,120)
    2.字符-->日期
    select convert(datetime,'1999-1-1')
      

  3.   

    和oracle不一样. oracle转字符用to_char还sql用convert或cast日期转字符:
    select convert(char(30),getdate(),120)
    select cast(getdate(), as varchar(20))字符转日期:
    --字符转换为日期时,Style的使用--1. Style=101时,表示日期字符串为:mm/dd/yyyy格式
    SELECT CONVERT(datetime,'11/1/2003',101)
    --结果:2003-11-01 00:00:00.000--2. Style=101时,表示日期字符串为:dd/mm/yyyy格式
    SELECT CONVERT(datetime,'11/1/2003',103)
    --结果:2003-01-11 00:00:00.000
    /*== 日期转换为字符串 ==*/
    DECLARE @dt datetime
    SET @dt='2003-1-11'--1. Style=101时,表示将日期转换为:mm/dd/yyyy 格式
    SELECT CONVERT(varchar,@dt,101)
    --结果:01/11/2003--2. Style=103时,表示将日期转换为:dd/mm/yyyy 格式
    SELECT CONVERT(varchar,@dt,103)
    --结果:11/01/2003
    /*== 这是很多人经常犯的错误,对非日期型转换使用日期的style样式 ==*/
    SELECT CONVERT(varchar,'2003-1-11',101)
    --结果:2003-1-11
      

  4.   

    日期--->字符:
    select convert(char(20),getdate(),120)字符--->日期:
    select cast('2005-06-30' as datetime)
    select cast('2005-06-30' as smalldatetime)
    select convert(datetime,'2005-06-30')
    select convert(smalldatetime,'2005-06-30')