select CONVERT(varchar(10), getDate(),120) --不要时间2002-1-1
select convert(char(8),getdate(),112) ----20020101
select convert(char(8),getdate(),108)  ---06:05:05

解决方案 »

  1.   

    getdate()不允许在用户定义函数中使用
    可以考虑作为一个参数传入
      

  2.   


    函数中的有效语句类型包括: DECLARE 语句,该语句可用于定义函数局部的数据变量和游标。
    为函数局部对象赋值,如使用 SET 给标量和表局部变量赋值。
    游标操作,该操作引用在函数中声明、打开、关闭和释放的局部游标。不允许使用 FETCH 语句将数据返回到客户端。仅允许使用 FETCH 语句通过 INTO 子句给局部变量赋值。
    控制流语句。
    SELECT 语句,该语句包含带有表达式的选择列表,其中的表达式将值赋予函数的局部变量。
    INSERT、UPDATE 和 DELETE 语句,这些语句修改函数的局部 table 变量。
    EXECUTE 语句,该语句调用扩展存储过程。 
    在查询中指定的函数的实际执行次数在优化器生成的执行计划间可能不同。示例为 WHERE 子句中的子查询唤醒调用的函数。子查询及其函数执行的次数会因优化器选择的访问路径而异。用户定义函数中不允许使用会对每个调用返回不同数据的内置函数。用户定义函数中不允许使用以下内置函数:@@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   
      

  3.   

    getdate()不允许在用户定义函数中使用
      

  4.   

    可以通過存儲過程來實現:
    如:exec storep @curtime ouput
      

  5.   

    getdate():)多使用帮助文件,很好用的:)