å¦æSQL Serverç¨åºåæ³å°è¡¨è¾¾å¼ä»ä¸ç§æ¢ä¸ºå¦ä¸ç§ï¼ä»å¯ä»¥ä»SQL Server 7å2000ä¸èªå¸¦ç两ç§åè½ä¸ååºéæ©ãå¨åå¨è¿ç¨æå
¶ä»æ
åµä¸ï¼æ们常常éè¦å°æ°æ®ä»datetimeå转åævarcharåï¼CONVERTåCASTå°±å¯ä»¥ç¨äºè¿ç§æ
åµã
ç±äºSQL Serveræä¾ä¸¤ç§åè½ï¼å æ¤åºè¯¥éæ©åªç§åè½æåºè¯¥å¨åªç§æ
åµä¸ä½¿ç¨è¯¥åè½å°±å¾å®¹æ让人å°æäºãCONVERTæ¯ä¸å¯¹SQL Server使ç¨çï¼ä½¿æ¥æä¸æ¶é´å¼ï¼å°æ°ä¹é´è½¬æ¢å
·ææ´å®½ççµæ´»æ§ã
CASTæ¯ä¸¤ç§åè½ä¸æ´å
·ANSIæ åçåè½ï¼å³è½ç¶æ´å
·ä¾¿æºæ§ï¼æ¯å¦ï¼ä½¿ç¨CASTçå½æ°è½æ´å®¹æç被å
¶å®æ°æ®åºè½¯ä»¶ä½¿ç¨ï¼ï¼ä½åè½ç¸å¯¹å¼±ä¸äºãä¸è¿ï¼å½å°æ°è½¬å为æ°å¼ï¼å¹¶ä¿çåå§è¡¨è¾¾å¼ä¸çå°æ°æ°å¼æ¶ï¼ä»ç¶éè¦ä½¿ç¨CASTãå æ¤ï¼æ建议é¦å
使ç¨CASTï¼å¦æéå°å¿
须使ç¨CONVERTçæ
åµæ¶å使ç¨CONVERTã
CASTåCONVERTè¿è½èå使ç¨ï¼è¾¾å°ç¹æ®çææãæ¯å¦ï¼å¨current dateä¸çæcharåéä¸è¬ä½¿ç¨ä»¥ä¸æ¹æ³ï¼
SELECT CONVERT(CHAR(10), CURRENT_TIMESTAMP, 102ï¼
ï¼102表æ使ç¨äºANSIæ¥æ模å¼ï¼å³yy.mm.ddåï¼
ç¶èï¼å¦æä½ å¸æå°è¿ä¸ªåéæç¡®çæ为datetimeæsmalldatetimeåéï¼ä»¥æ¤å¨ç¹å®çæ°æ®åºæ ä¸å
¼å®¹ï¼é£ä¹ä½ å¯ä»¥ä½¿ç¨ä»¥ä¸è¯å¥ï¼
SELECT CAST(CONVERT(CHAR(10),CURRENT_TIMESTAMP,102) AS DATETIME
è¿åå¼å°æ¯ yy.mm.dd 00:00:00ï¼å¦12ï¼00AMä½ä¸ºæ¶é´æ³ï¼
SQL Server Date å½æ°
å®ä¹åç¨æ³
DATEADD() å½æ°å¨æ¥æä¸æ·»å æåå»æå®çæ¶é´é´éã
è¯æ³
DATEADD(datepart,number,date)date åæ°æ¯åæ³çæ¥æ表达å¼ãnumber æ¯æ¨å¸ææ·»å çé´éæ°ï¼å¯¹äºæªæ¥çæ¶é´ï¼æ¤æ°æ¯æ£æ°ï¼å¯¹äºè¿å»çæ¶é´ï¼æ¤æ°æ¯è´æ°ã
datepart åæ°å¯ä»¥æ¯ä¸åçå¼ï¼
datepart 缩å
å¹´ yy, yyyy
å£åº¦ qq, q
æ mm, m
å¹´ä¸çæ¥ dy, y
æ¥ dd, d
å¨ wk, ww
ææ dw, w
å°æ¶ hh
åé mi, n
ç§ ss, s
æ¯«ç§ ms
å¾®å¦ mcs
çº³ç§ ns
温馨提示:内容为网友见解,仅供参考
存储过程后跟dateadd函数为什么会报错
DATEADD() 函数在日期中添加或减去指定的时间间隔。语法 DATEADD(datepart,number,date)date 参数是合法的日期表达式。number 是您希望添加的间隔数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。datepart 参数可以是下列的值:datepart 缩写 年 yy, yyyy 季度 qq, q 月 mm, m 年中的...
sql server 存储过程时间计算
DATEADD 在向指定日期加上一段时间的基础上,返回新的 datetime 值。语法 DATEADD ( datepart , number, date )参数 datepart 是规定应向日期的哪一部分返回新值的参数。下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。日期部分 缩写 Year yy, yyyy quarter qq, q Month mm...
在sql的存储过程中,给定一个日期,怎么获得比这个日期大10天和小10天的...
SQL里有个函数:dateadd(d,-3,getdate()) ,第一个是设置那一项减少或增加,天就是D,第二个是变量,-3是三天前,+3是三天后,第三个为基础,getdate()是当前时间为基础
sql存储过程中的日期类型 当前日期减去天数得到几天前的日期
第二个参数正数往后算,负数日期往前算
...函数AddOneDate的参数DateAny为什么不需要定义呢,我换成了dateToday...
你说的这句吗 Function AddOneDate(DateAny)这个DateAny是形式参数,可以理解为特殊定义,实际上是定义了,再定义会报错。
SQL 关于时间函数select datepart 的问题
\/*-- 创建月购买数量统计存储过程:proc_buyIn_month_count --*\/ CREATE PROC proc_buyIn_month_count (startTime smalldatetime,--输入参数:查询的开始时间 endTime smalldatetime --输入参数:查询的结束时间 )AS --New --定义表变量 DECLARE Mydb_buyIn_month_count TABLE(buyTimeForYear varchar(...
SQL中去空格函数
这个好办啊,你自己写一个函数,然后调用sql中的ltrim,rtrim,然后用raplace把字段中空格都去掉,你再调用自己的函数就可以了啊。
sql语句,有的全要
DATEADD(<datepart> ,<number> ,<date>) --函数返回指定日期date 加上指定的额外日期间隔number 产生的新日期DATEDIFF(<datepart> ,<number> ,<date>)--函数返回两个指定日期在datepart 方面的不同之处DATENAME(<datepart> , <date>) --函数以字符串的形式返回日期的指定部分DATEPART(<datepart> , <date>) ...
SQL2005存储过程导出脚本到SQL2000
你的把这3个存储过程中调用到的其他存储过程, 先执行下,然后再执行这3个存储过程。如果还不行,那把错误信息,贴出来吧。
SQL函数求出今天与2007-3-1差多少天,多少月,多少年。
用函数来实现 create function dbo.getdiff(@startdate datetime,@enddate datetime)returns varchar(32)as begin declare @cright varchar(2)set @cright = '+'declare @tmpstdate datetime,@tmpeddate datetime set @tmpstdate = @startdate set @tmpeddate = @enddate if datediff(dd,@start...