SELECT ID AS 编号, CONVERT(varchar(10), Updatetime, 121) AS 更新时间
FROM Table1我在2005中运行后能显示转换后的时间,如2010-12-22,
但是这句SQL在Sqlserver2000中是解释不了的,我该如何解决呢?
怎样写SQL能兼容两种数据库系统,请大家指点下,O(∩_∩)O谢谢。

解决方案 »

  1.   

    奇怪 应该都是通用的 你的updatetime数据是datetime吗
      

  2.   

    SELECT ID AS 编号, CONVERT(varchar(10), Updatetime, 121) AS 更新时间
    FROM Table1 where isdate(Updatetime)=1
    --试试 数据有问题把
      

  3.   

    --在sql 2000中的查询结果
    select CONVERT(varchar(10), getdate(), 121) AS 更新时间/*
    更新时间       
    ---------- 
    2010-12-23(所影响的行数为 1 行)
    */不过加以你用 select CONVERT(varchar(10), getdate(), 120) AS 更新时间
      

  4.   

    不过加以你用 select CONVERT(varchar(10), getdate(), 120) AS 更新时间
    -->
    不过建议你用 select CONVERT(varchar(10), getdate(), 120) AS 更新时间
      

  5.   

    CONVERT(varchar(10), Updatetime, 121)换成(varchar(100),Updatetime,23)
    如果还不能兼容2000,那就是其他语句的错。
    我曾经犯的一个错就是使用top,top (10)只在2005中正确,而top 10 则都可以,你看看有没这类编写错误,也可以去查查两种服务器都兼容的语言列表。