我要进行日期模糊查询,现在我想将日期型的数据转换为字符串的数据,再查询,请问怎么样的转啊,
或怎么样的进行查询啊

解决方案 »

  1.   

    如:convert(varchar(8),getdate(),112)
      

  2.   

    Select     
    CONVERT(varchar, getdate(), 1),--mm/dd/yy    
    CONVERT(varchar, getdate(), 2),--yy.mm.dd     
    CONVERT(varchar, getdate(), 3),--dd/mm/yy     
    CONVERT(varchar, getdate(), 4),--dd.mm.yy     
    CONVERT(varchar, getdate(), 5),--dd-mm-yy     
    CONVERT(varchar, getdate(), 10),--mm-dd-yy     
    CONVERT(varchar, getdate(), 11),--yy/mm/dd         
    CONVERT(varchar, getdate(), 12),--yymmdd
    ----带世纪号 
    select convert(varchar(10),getdate(),100) --06 15 2007 或0
    select convert(varchar(10),getdate(),102) --2007.06.15
    select convert(varchar(10),getdate(),103) --15/06/2007
    select convert(varchar(10),getdate(),104) --15.06.2007s
    elect convert(varchar(10),getdate(),105) --15-06-2007
    select convert(varchar(10),getdate(),106) --15 06 2007
    select convert(varchar(10),getdate(),107) --06-15,200
    select convert(varchar(10),getdate(),108) --10:06:46 当前时间
    select convert(varchar(10),getdate(),109) --06 15 2007 或者9
    select convert(varchar(10),getdate(),110) --06-15-2007
    select convert(varchar(10),getdate(),111) --2007/06/15
    select convert(varchar(10),getdate(),112) --20070615
    select convert(varchar(10),getdate(),113) --15 06 2007 或者13
    select convert(varchar(10),getdate(),114) --10:10:37:0
    select convert(varchar(10),getdate(),120) --2007-06-15 或20
    select convert(varchar(30),getdate(),121) --2007-06-15 10:11:45.040 或21
    select convert(varchar(30),getdate(),126) --2007-06-15T10:12:44:603
    select convert(varchar(50),getdate(),127) --2007-06-15T10:14:35:433 说带时区
    select convert(varchar(40),getdate(),130) --回历dd mon yyyy hh:mi:ss:mmmAM
    select convert(varchar(30),getdate(),131) --30/05/1428 10:17:19:470AMGO
      

  3.   

    --*******************************************************************************
    --                            日期转换参数大全
    --********************************************************************************
    select CONVERT(varchar,getdate(),120)
    --2009-03-15 15:10:02select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')
    --20090315151201select CONVERT(varchar(12) , getdate(), 111)
    --2009/03/15select CONVERT(varchar(12) , getdate(), 112)
    --20090315select CONVERT(varchar(12) , getdate(), 102)
    --2009.03.15select CONVERT(varchar(12) , getdate(), 108)
    --15:13:26其它我不常用的日期格式转换方法:select CONVERT(varchar(12) , getdate(), 101 )
    --03/15/2009select CONVERT(varchar(12) , getdate(), 103 )
    --15/03/2009select CONVERT(varchar(12) , getdate(), 104 )
    --15.03.2009select CONVERT(varchar(12) , getdate(), 105 )
    --15-03-2009select CONVERT(varchar(12) , getdate(), 106 )
    --15 03 2009select CONVERT(varchar(12) , getdate(), 107 )
    -- 15, 2009select CONVERT(varchar(12) , getdate(), 109 )
    --03 15 2009  select CONVERT(varchar(12) , getdate(), 110 )
    --03-15-2009select CONVERT(varchar(11) , getdate(), 113 )
    --15 03 2009 select CONVERT(varchar(12) , getdate(), 114)
    --15:15:55:717
      

  4.   

    CONVERT(varchar, getdate(), 格式)   
      

  5.   

    --日期转换参数,值得收藏
    select CONVERT(varchar, getdate(), 120 )
    2004-09-12 11:06:08select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')
    20040912110608select CONVERT(varchar(12) , getdate(), 111 )
    2004/09/12select CONVERT(varchar(12) , getdate(), 112 )
    20040912select CONVERT(varchar(12) , getdate(), 102 )
    2004.09.12其它我不常用的日期格式转换方法:select CONVERT(varchar(12) , getdate(), 101 )
    09/12/2004select CONVERT(varchar(12) , getdate(), 103 )
    12/09/2004select CONVERT(varchar(12) , getdate(), 104 )
    12.09.2004select CONVERT(varchar(12) , getdate(), 105 )
    12-09-2004select CONVERT(varchar(12) , getdate(), 106 )
    12 09 2004select CONVERT(varchar(12) , getdate(), 107 )
    09 12, 2004select CONVERT(varchar(12) , getdate(), 108 )
    11:06:08select CONVERT(varchar(12) , getdate(), 109 )
    09 12 2004 1select CONVERT(varchar(12) , getdate(), 110 )
    09-12-2004select CONVERT(varchar(12) , getdate(), 113 )
    12 09 2004 1select CONVERT(varchar(12) , getdate(), 114 )
    11:06:08.177
      

  6.   

    select convert (varchar(4),datepart(yyyy,getdate())) //返回当前日期的年
    select convert(varchar(2),datepart(dd,getdate())) //返回当前日期的日
    select convert(varchar(2),datepart(mm,getdate())) //返回当前日期的月
    select convert(varchar(4),right(rand(datepart(ms,getdate())*1000),4)) 
    select  day(dateadd(dd,-1,dateadd(mm,1,Dateadd(mm,datediff(mm,0,getdate()),0)))) //返回本月的最大天数
     时间格式转换问题 
    因为新开发的软件需要用一些旧软件生成的一些数据,在时间格式上不统一,只能手工转换,研究了一下午写了三条语句,以前没怎么用过convert函数和case语句,还有"+"操作符在不同上下文环境也会起到不同的作用,把我搞晕了要,不过现在看来是差不多弄好了。 1、把所有"70.07.06"这样的值变成"1970-07-06" 
    UPDATE lvshi 
    SET shengri = '19' + REPLACE(shengri, '.', '-') 
    WHERE (zhiyezheng = '139770070153') 
    2、在"1970-07-06"里提取"70","07","06" 
    SELECT SUBSTRING(shengri, 3, 2) AS year, SUBSTRING(shengri, 6, 2) AS month, 
          SUBSTRING(shengri, 9, 2) AS day 
    FROM lvshi 
    WHERE (zhiyezheng = '139770070153') 3、把一个时间类型字段转换成"1970-07-06" 
    UPDATE lvshi 
    SET shenling = CONVERT(varchar(4), YEAR(shenling)) 
          + '-' + CASE WHEN LEN(MONTH(shenling)) = 1 THEN '0' + CONVERT(varchar(2), 
          month(shenling)) ELSE CONVERT(varchar(2), month(shenling)) 
          END + '-' + CASE WHEN LEN(day(shenling)) = 1 THEN '0' + CONVERT(char(2), 
          day(shenling)) ELSE CONVERT(varchar(2), day(shenling)) END 
    WHERE (zhiyezheng = '139770070153')