select convert(char(10),getdate(),111)101 美国 mm/dd/yyyy 
2 102 ANSI yyyy.mm.dd  
3 103 英国/法国 dd/mm/yy 
4 104 德国 dd.mm.yy 
5 105 意大利 dd-mm-yy 
6 106 - dd mon yy 
7 107 - mon dd, yy 
8 108 - hh:mm:ss 
9 或 109 (*)  默认值 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM(或 PM) 
10 110 美国 mm-dd-yy 
11 111 日本 yy/mm/dd 
12 112 ISO yyyymmdd    convert(char(8),getdate(),112)
13 或 113 (*)  欧洲默认值 + 毫秒 dd mon yyyy hh:mm:ss:mmm(24h) 
14 114 - hh:mi:ss:mmm(24h) 
20 或 120 (*)  ODBC 规范 yyyy-mm-dd hh:mm:ss[.fff] 
21 或 121 (*)  ODBC 规范(带毫秒) yyyy-mm-dd hh:mm:ss[.fff] 
126(***) ISO8601 yyyy-mm-dd Thh:mm:ss:mmm(不含空格) 
130* 科威特 dd mon yyyy hh:mi:ss:mmmAM 
131* 科威特 dd/mm/yy hh:mi:ss:mmmAM

解决方案 »

  1.   

    declare cur_input1  cursor for …………
    fetch next from cur_input1 into @name,@date
    set @rtn = @name+','+convert(datetime,@date,111)
      

  2.   

    --字符转换为日期时,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
      

  3.   

    要学会用帮助   去sqlserver2000的帮助文档里检索   datetime 或者  convert  记不清了
    很容易就能找得到的  ,不过和上面几位说的差不多~再多说一句啊,现在的 微软 的 文档都很全,要学会利用资源阿
      

  4.   

    你说的函数是自定义函数吧,如果是的话,使用系统的函数会有一定的限制,就是用户定义函数中不允许使用会对每个调用返回不同数据的内置函数。用户定义函数中不允许使用象下面的这些函数的
    @@CONNECTIONS @@PACK_SENT @GETDATE 
    @@CPU_BUSY @@PACKET_ERRORS @GetUTCDate 
    @@IDLE @@TIMETICKS @NEWID 
    @@IO_BUSY @@TOTAL_ERRORS @RAND 
    @@MAX_CONNECTIONS @@TOTAL_READ @TEXTPTR 
    @@PACK_RECEIVED @@TOTAL_WRITE