仓酷云

标题: MSSQL编程:怎样取得当月的天数? [打印本页]

作者: 飘灵儿    时间: 2015-1-16 22:33
标题: MSSQL编程:怎样取得当月的天数?
Federated将不同的Mysql服务器联合起来,逻辑上组成一个完整的数据库。非常适合分布式应用--办法一
DECLARE@monthint,@yearint
SELECT@month=6,@year=2004
SELECTDATEPART(dd,DATEADD(m,1,CAST(STR(@month)+/01/+STR(@year)as
datetime))-1)
--办法二
DECLARE@DATEDATETIME
SET@DATE=GETDATE()

SELECTCAST(
--Firstdayofnextmonth
DATEADD(MONTH,DATEDIFF(MONTH,0,@DATE)+1,0)
-
--Firstdayofcurrentmonth
DATEADD(MONTH,DATEDIFF(MONTH,0,@DATE),0)
ASINT)

--办法三
这个你也能够写一个UDF来完成:
createfunctionfn_NumOfDaysInMon(@datedatetime)
returnsint
as
begin
declare@begmonthdatetime,@endmonthdatetime,@daysint
select@begmonth=dateadd(month,datediff(month,0,@date),0)
select@endmonth=dateadd(dd,-datepart(dd,@date),dateadd(mm,1,@date))
select@days=datediff(dd,@begmonth,@endmonth)+1
return@days
end
既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。
作者: 冷月葬花魂    时间: 2015-1-19 16:28
varchar(max)\\\\nvarchar(max)类型的引入大大的提高了编程的效率,可以使用字符串函数对CLOB类型进行操作,这是一个亮点。
作者: 仓酷云    时间: 2015-1-27 17:29
如果我们从集合论(关系代数)的角度来看,一张数据库的表就是一组数据元的关系,而每个SQL语句会改变一种或数种关系,从而产生出新的数据元的关系(即产生新的表)。
作者: 山那边是海    时间: 2015-2-5 10:46
其实可以做一下类比,Oracle等数据库产品老早就支持了java编程,而且提供了java池参数作为用户配置接口。但是现在有哪些系统大批使用了java存储过程?!连Oracle自己的应用都不用为什么?!
作者: 若相依    时间: 2015-2-11 09:59
财务软件要用SQL也只是后台的数据库而已,软件都是成品的,当然多学东西肯定是有好处的..
作者: 第二个灵魂    时间: 2015-3-2 10:22
是否碎片会引发效率问题?这都是需要进一步探讨的东西。varbinary(max)代替image也让SQLServer的字段类型更加简洁统一。
作者: 分手快乐    时间: 2015-3-11 03:14
SQLServer的异构移植功能个人感觉最好了。(如果对比过SQLServer的链接服务器和Oracle的透明网关的朋友会发现SQLServer的sp_addlinkedserver(openquery)异构数据库系列比Oracle真是强太多了。)
作者: 海妖    时间: 2015-3-17 19:51
如果是将来做数据库的开发设计,就应该详细学习T-SQL的各种细节,包括T-SQL的程序设计、存储过程、触发器以及具体使用某个开发语言来访问数据库。
作者: 透明    时间: 2015-3-24 23:01
大侠们有推荐的书籍和学习方法写下吧。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2