Sqlserver获取时间格式
转自:http://blog.csdn.net/lwmjm/article/details/8216733 ---上个月月初第一天 select CONVERT(varchar(12),DATEADD(mm,DATEDIFF(mm,dateadd(mm,-1,getdate())),0),112 ) ? 前天:Select dateadd(day,-2,getdate()) 明天 :Select dateadd(day,arial"> 规则如下: 1 101 美国 mm/dd/yyyy 2 102 ANSI yy.mm.dd 3 103 英国/法国 dd/mm/yy 4 104 德国 dd.mm.yy 5 105 意大利 dd-mm-yy 6 106 - dd mon yy 7 107 - mon dd,yy 8 108 - hh:mm:ss - 9 或 109 (*)?? 默认值 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM(或 PM) 10 110 美国 mm-dd-yy 11 111 日本 yy/mm/dd 12 112 ISO yymmdd - 13 或 113 (*)?? 欧洲默认值 + 毫秒 dd mon yyyy hh:mm:ss:mmm(24h) 14 114 - hh:mi:ss:mmm(24h) - 20 或 120 (*)?? ODBC 规范 yyyy-mm-dd hh:mm:ss[.fff] - 21 或 121 (*)?? ODBC 规范(带毫秒) yyyy-mm-dd hh:mm:ss[.fff] - 126(***) ISO8601 yyyy-mm-dd Thh:mm:ss:mmm(不含空格) - 130* 科威特 dd mon yyyy hh:mi:ss:mmmAM - 131* 科威特 dd/mm/yy hh:mi:ss:mmmAM ????????? 关于Emaker中字段的格式转换和字段间的运算代码可以加到属性里的“格式转换(读出)”和“格式转换(写入)”,table字段设定里的“字段”位置也可以灵活加函数。比如:'AF'+ID 或者ID+'/'+PWD,convert(varchar(50),F1), convert(int,%)-19110000 (读出) convert(char(8),convert(int,%)+19110000) (写入) 实现行的合计运算等等。加入:%系统变量%,则是调用在Emaker 系统中设定的系统变量。 获取两个日期相差的天数: ?select datediff(d,'2012-05-10','2012-05-12') 两个字段拼接: SELECT CAST(LastCargoNo AS VARCHAR(10))+'、'+ CAST(LastCargoName AS VARCHAR(10))? FROM Cargo --查询当前月份的天数 --思路当前月份+1,就是下个月,然后用下个月的1号减一,就得到当前月份的最后一天,这样就知道当前月份有多少天了 --用到的函数 getdate()当前的日期 dateadd() 在年月日中进行加减操作 year()日期中的年部分 month()日期中的月部分 datepart()取出日期中的某部分 --第一步将当前期日的月部分加一 select dateadd(mm,getdate()) --第二步获取加一后的日期的年和月 select 年=year(dateadd(mm,月=month(dateadd(mm,getdate())) --第三步拼接成当前月的下一个月的1号 select convert(varchar(4),year(dateadd(mm,getdate())))+'-'+convert(varchar(2),month(dateadd(mm,getdate())))+'-01' --第四步转成日期类型的 select 当前月的下一个月的1号=convert(datetime,convert(varchar(4),getdate())))+'-01') --第五步把上面得到的日期减一天得到当前月的最后一天 select 当前月的最后一天=dateadd(dd,getdate())))+'-01')) --最后一步拿到天数 select 当前月份总天数=datepart(dd,getdate())))+'-01'))) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |