现在数据库的时间格式是:2010-09-24 12:32:22 我想要的结果就是 sql语句输出的时间是 2010-09-24
请问这个语句怎么写啊?

解决方案 »

  1.   

    select T=convert(varchar(10),'2010-09-24 12:32:22',120)T
    -------------------
    2010-09-24
      

  2.   

    --字符串转日期(符合日期格式标准的前提下):
    cast(col as datetime)
    --或者
    convert(datetime,col)
    --日期转字符串:
    在sql里用字符函数convert
    SELECT CONVERT(varchar(100), GETDATE(), 0)-- 05 03 2010 10:57AM
    SELECT CONVERT(varchar(100), GETDATE(), 1)-- 05/03/10
    SELECT CONVERT(varchar(100), GETDATE(), 2)-- 10.05.03
    SELECT CONVERT(varchar(100), GETDATE(), 3)-- 03/05/10
    SELECT CONVERT(varchar(100), GETDATE(), 4)-- 03.05.10
    SELECT CONVERT(varchar(100), GETDATE(), 5)-- 03-05-10
    SELECT CONVERT(varchar(100), GETDATE(), 6)-- 03 05 10
    SELECT CONVERT(varchar(100), GETDATE(), 7)-- 05 03, 10
    SELECT CONVERT(varchar(100), GETDATE(), 8)-- 10:57:46
    SELECT CONVERT(varchar(100), GETDATE(), 9)-- 05 03 2010 10:57:46:827AM
    SELECT CONVERT(varchar(100), GETDATE(), 10)-- 05-03-10
    SELECT CONVERT(varchar(100), GETDATE(), 11)-- 10/05/03
    SELECT CONVERT(varchar(100), GETDATE(), 12)-- 100503
    SELECT CONVERT(varchar(100), GETDATE(), 13)-- 03 05 2010 10:57:46:937
    SELECT CONVERT(varchar(100), GETDATE(), 14)-- 10:57:46:967
    SELECT CONVERT(varchar(100), GETDATE(), 20)-- 2010-05-03 10:57:47
    SELECT CONVERT(varchar(100), GETDATE(), 21)-- 2010-05-03 10:57:47.157
    SELECT CONVERT(varchar(100), GETDATE(), 22)-- 05/03/10 10:57:47 AM
    SELECT CONVERT(varchar(100), GETDATE(), 23)-- 2010-05-03
    SELECT CONVERT(varchar(100), GETDATE(), 24)-- 10:57:47
    SELECT CONVERT(varchar(100), GETDATE(), 25)-- 2010-05-03 10:57:47.250
    SELECT CONVERT(varchar(100), GETDATE(), 100)-- 05 03 2010 10:57AM
    SELECT CONVERT(varchar(100), GETDATE(), 101)-- 05/03/2010
    SELECT CONVERT(varchar(100), GETDATE(), 102)-- 2010.05.03
    SELECT CONVERT(varchar(100), GETDATE(), 103)-- 03/05/2010
    SELECT CONVERT(varchar(100), GETDATE(), 104)-- 03.05.2010
    SELECT CONVERT(varchar(100), GETDATE(), 105)-- 03-05-2010
    SELECT CONVERT(varchar(100), GETDATE(), 106)-- 03 05 2010
    SELECT CONVERT(varchar(100), GETDATE(), 107)-- 05 03, 2010
    SELECT CONVERT(varchar(100), GETDATE(), 108)-- 10:57:49
    SELECT CONVERT(varchar(100), GETDATE(), 109)-- 05 03 2010 10:57:49:437AM
    SELECT CONVERT(varchar(100), GETDATE(), 110)-- 05-03-2010
    SELECT CONVERT(varchar(100), GETDATE(), 111)-- 2010/05/03
    SELECT CONVERT(varchar(100), GETDATE(), 112)-- 20100503
    SELECT CONVERT(varchar(100), GETDATE(), 113)-- 03 05 2010 10:57:49:513
    SELECT CONVERT(varchar(100), GETDATE(), 114)-- 10:57:49:547
    SELECT CONVERT(varchar(100), GETDATE(), 120)-- 2010-05-03 10:57:49
    SELECT CONVERT(varchar(100), GETDATE(), 121)-- 2010-05-03 10:57:49.700
    SELECT CONVERT(varchar(100), GETDATE(), 126)-- 2010-05-03T10:57:49.827
    SELECT CONVERT(varchar(100), GETDATE(), 130)-- 18 ???? ?????? 1427 10:57:49:907AM
    SELECT CONVERT(varchar(100), GETDATE(), 131)-- 18/04/1427 10:57:49:920AM
      

  3.   


    declare @s datetime 
    set @s = '2010-09-24 12:32:22'
    select convert(varchar(10),@s,120)结果
    2010-09-24
      

  4.   

    不是不是,楼上这位大哥理解错我的意思了,我的意思是有没有一种直接在SQL语句中进行定义的。
      

  5.   


    select convert(varchar(10),时间字段,120) from tb
      

  6.   

    参考http://www.cnblogs.com/fernando/archive/2008/04/29/1176581.html
      

  7.   

    不好意思 我没看见下面的 。GETDATE 这个是什么意思啊?
      

  8.   


    查询的时候转换一下就可以了。convert(varchar(10),时间字段,120) 
      

  9.   

    我数据库时间用的是Datetime 格式的 是不是要将varchar 换成 datetime啊
      

  10.   

    不要意思 我没有看到下面的
    帮看下我的sql语句写的对吗?
    delete  from quxiantu where convert(varchar(10),DateTime,23)=2010-09-24
      

  11.   


    呵呵...想到了这个...use test
    go
    if object_id('test.dbo.tb') is not null drop table tb
    -- 创建数据表
    create table tb
    (
    t datetime,
    tt as convert(varchar(10),t,120)
    )
    go
    --插入测试数据
    insert into tb select '2010-09-24 12:32:22'
    union all select '2010-09-25 12:32:22'
    union all select '2010-09-26 12:32:22'
    go
    --代码实现select * from tb/*测试结果t          tt
    -------------------------------------------------
    2010-09-24 12:32:22.000 2010-09-24
    2010-09-25 12:32:22.000 2010-09-25
    2010-09-26 12:32:22.000 2010-09-26(3 行受影响)
    */
      

  12.   

    delete  from quxiantu where convert(varchar(10),DateTime,23)=2010-09-24这句代码我想实现的功能就是删除所有今天的数据,可是提示说 “在将 varchar 值 '2010-09-15' 转换成数据类型 int 时失败。”
      

  13.   

    delete  from quxiantu where convert(varchar(10),DateTime,23)='2010-09-24'  --后面的加上单引号,它是字符串