SQLÓÃDataDiff²éѯµÄ¹ÖÏÖÏó¶øÒý·¢µÄ˼¿¼¡£¡£
½ñÌìÓÖ¿´µ½ÐÂ¼ÓÆÂµÄͬÊ·¢¹ýÀ´µÄÒ»¶ÎSQLÓï¾ä£¬»¹ÊÇÀÏÎÊÌ⣬ʱ¼ä¶Ô±ÈÖ±½ÓÓôóÓÚСÓںš£Ì¾ÁËÉùÆøºó£¬ÊÖ¶¯¸ø¸Ä³ÉdatediffÁË£¬¿ÉÊÇÒ»ÔËÐгö´í£¬´íÎóÌáʾÈçÏ£º
Msg 241, Level 16, State 1, Line 1
Conversion failed when converting datetime from character string.
ΪÁË˵Ã÷·½±ã£¬ÕâÀï¾Í¼ò»¯Ò»¸öÀý×ÓºÃÁË¡£
create table a
(
id int not null,
val varchar(20)
)
insert into a values (1, '2009-05-02')
insert into a values (2, 'abc')
insert into a values (3, '2009-12-10')
ÎÒµÄÓï¾äÊÇÕâÑùµÄ:
select * from a where id in (1,3) and datediff(day, convert(datetime,val),getdate()) < 0
°´³£Àí£¬ÎÒÏÈÕÒµ½id= 1»ò3µÄ¼Ç¼£¬È»ºóÔÙ¸ú½ñÌì±È½Ï£¬Ó¦¸Ã»á·µ»Øid=1µÄ¼Ç¼°¡¡£¿ÉÊǾÓÈ»³öÏÖÈçÏ´íÎó£º
Msg 241, Level 16, State 1, Line 1
Conversion failed when converting datetime from character string.
¿ÉÊǵ±ÎÒÖ´ÐУº
select datediff(day, convert(datetime,val),getdate()) from a where id in (1,3)
ÕâʱºòÓÖÊÇÄܹ»Ö´Ðеġ£ Õâ¾ÍÊÇ˵ÔÚ½øÐÐ1»ò3µÄÅжÏǰ£¬ÒѾ¶Ôid=2ÕâÌõ¼Ç¼ִÐÐÁËconvert£¬ËùÒÔ³ö´íÁË¡£
Óɴ˿ɼû£¬Óï¾ä²¢²»ÊÇÎÒÃÇÏëÏóµÄÓÉÉϵ½ÏÂÖ´Ðеģ¬ÄѵÀÊÇÓÉÏÂÏòÉÏÖ´Ðеģ¿»»³ÉÈçÏÂÓï¾ä:
select * from a where datediff(day, val,getdate()) < 0 and id in (1,3)
´íÎóÒÀ¾É¡£
ÔÎÁË£¬²»ÊÇÓÉÉϵ½Ï£¬Ò²²»ÊÇÓÉϵ½ÉÏ£¬ÄѵÀÕâ¸ö˳Ðò²»Êǹ̶¨µÄ£¿ ×Ðϸ·ÖÎöһϣ¬ÉÏÃæÒ»¸ö¿ÉÒÔÖ´ÐеÄÓï¾ä¿ÉÒÔ·¢ÏÖ,
ÓÉÓÚconvertº¯ÊýÊÇÔÚËù²éѯ³öÀ´µÄ½á¹û¼¯ÉÏÔÙ½øÐеÄת»»£¬¶øÇÒid = 1»ò3µÄ¼Ç¼ÖеÄvalÁж¼ÊÇ¿ÉÒÔת»»ÎªÊ±¼äÀàÐ͵ģ¬ËùÒÔ
ûÓÐÈκδíÎó¡£ ÆäËûÁ½¸öÔËÐÐÓдíÎóµÄÓï¾äÖУ¬ÔÚÖ´ÐеÄʱºò¶¼ÊÇÔÚ±íÖÐËùÓмǼµÄ»ù´¡ÉÏ£¬Ïȵ÷ÓÃconvertÕâ¸öÌõ¼þµÄ£¬ËùÒÔ
µ±Óöµ½id=2ÕâÌõ¼Ç¼ʱ£¬¾Í»á³ö´í¡£¼ÈÈ»SQL server²»Êǰ´ÕÕÎÒÃÇÏëÒªµÄ˳ÐòÈ¥Ö´ÐУ¬ÄÇôÎÒÃÇÄܲ»ÄÜÇ¿ÖÆÈÃËüÈ¥°´ÎÒÃǵÄËùÒªÇóµÄ
˳ÐòÈ¥Ö´ÐÐÄØ£¿
ÓÚÊǺõ£¬ºÃÓõÄcase when ¾ÍÅÉÉÏÓó¡ÁË¡£ÎÒ°ÑÉÏÃæµÄÓï¾ä¸ÄΪÈçÏ£º
select * from a where (case when id in (1,3) then datediff(day, convert(datetime,val),getdate()) else 1 end) < 0
ÈçÉÏÃæËùʾ£¬ÔÚwhere Ìõ¼þÖУ¬Ê×ÏÈÅÐ¶Ï µ± id in (1,3) £¬Ôò½øÐÐdatediffºÍconvertº¯ÊýµÄµôÓ㬴ËʱֻÓÐid = 1»ò3µÄ¼Ç¼²Å»áµ÷ÓÃconvertº¯Êý£¬ËùÒÔ´Ëʱ¿Ï¶¨²»»á³ö´í£¬ÆäËûµÄÖ±½Ó·µ»ØÒ»¸ö¿
Ïà¹ØÎĵµ£º
http://www.umgr.com/blog/PostView.aspx?bpId=36294
1. Ö´ÐÐsqlÓï¾ä
int sqlite3_exec(sqlite3*£¬ const char *sql£¬ sqlite3_callbacksql Óï·¨
£¬ void *£¬ char **errmsg );
Õâ¾ÍÊÇÖ´ÐÐÒ»Ìõ sql Óï¾äµÄº¯Êý¡£
µÚ1¸ö²ÎÊý²»ÔÙ˵ÁË£¬ÊÇÇ°Ãæopenº¯ÊýµÃµ½µÄÖ¸Õ롣˵ÁËÊǹؼüÊý¾Ý½á¹¹¡£
µÚ2¸ö²ÎÊýconst char ......
1.Ñ¡Ôñ×îÓÐЧÂʵıíÃû˳Ðò(Ö»ÔÚ»ùÓÚ¹æÔòµÄÓÅ»¯Æ÷ÖÐÓÐЧ)¡¡¡¡
¡¡¡¡ SQLSERVERµÄ½âÎöÆ÷°´ÕÕ´ÓÓÒµ½×óµÄ˳Ðò´¦Àífrom×Ó¾äÖеıíÃû£¬Òò´Ëfrom×Ó¾äÖÐдÔÚ×îºóµÄ±í£¨»ù´¡±ídriving table£©½«±»×îÏÈ´¦Àí£¬ÔÚfrom×Ó¾äÖаüº¬¶à¸ö±íµÄÇé¿öÏ£¬±ØÐëÑ¡Ôñ¼Ç¼ÌõÊý×îÉٵıí×÷Ϊ»ù´¡±í£¬µ±SQLSERVER´¦Àí¶à¸ö±íʱ£¬»áÔËÓÃÅÅÐò¼°ºÏ²¢µÄ·½Ê½Á ......
--ÐÐÁл¥×ª
/******************************************************************************************************************************************************
ÒÔѧÉú³É¼¨ÎªÀý×Ó£¬±È½ÏÐÎÏóÒ×¶®
ÕûÀíÈË£ºÖйú·ç(Roy)
ÈÕÆÚ:2008.06.06
***************************************************************** ......
OracleµÄsql*plusÊÇÓëoracle½øÐн»»¥µÄ¿Í»§¶Ë¹¤¾ß¡£ÔÚsql*plusÖУ¬¿ÉÒÔÔËÐÐsql*plusÃüÁîÓësql*plusÓï¾ä¡£
ÎÒÃÇͨ³£Ëù˵µÄDML¡¢DDL¡¢DCLÓï¾ä¶¼ÊÇsql*plusÓï¾ä£¬ËüÃÇÖ´ÐÐÍêºó£¬¶¼¿ÉÒÔ±£´æÔÚÒ»¸ö±»³ÆÎªsql bufferµÄÄÚ´æÇøÓòÖУ¬²¢ÇÒÖ»Äܱ£´æÒ»Ìõ×î½üÖ´ÐеÄsqlÓï¾ä£¬ÎÒÃÇ¿ÉÒÔ¶Ô±£´æÔÚsql bufferÖеÄsql Óï¾ä½øÐÐÐ޸ģ¬È» ......
//ÔÚÓ¦ÓóÌÐòOpen ʼþ´úÂëÖÐ
idle(600)
openbakflag=1
///////////////////////¶ÁÈ¡ÅäÖÃÎļþÊý¾Ý¿âÁ¬½ÓÉèÖÃ///////////////////////
string server,datname,datuser,datpsw
server=ProfileString ( "yy.ini","yygl","server", "" )
datname=ProfileString ( "yy.ini","yygl","datname", "" )
datuser=ProfileStrin ......