sqlserver日期错误(sql server日期函数有哪些)
sqlserver日期计算的问题
首先说明你的DATEDIFF(dd,0,getdate()),这个表示获取当前日期与0之间的天数差,dd表示是用来表示天.然后DATEADD(dd, DATEDIFF(dd,0,getdate()), 0),这个是用来表示0加上你刚才获取的天数差后的日期~
具体的说明如下,你可以自己了解~
------------------------------------------------------------------
DateAdd函数 返回
返回包含一个日期的 Variant (Date),这一日期还加上了一段时间间隔。
语法
DateAdd(interval, number, date)
DateAdd 函数语法中有下列命名参数:
部分 描述
interval 必要。字符串表达式,是所要加上去的时间间隔。
number 必要。数值表达式,是要加上的时间间隔的数目。其数值可以为正数(得到未来的日期),也可以为负数(得到过去的日期)。
date 必要。Variant (Date) 或表示日期的文字,这一日期还加上了时间间隔。
设置
interval 参数具有以下设定值:
设置 描述
yyyy 年
q 季
m 月
y 一年的日数
d 日
w 一周的日数
ww 周
h 时
n 分钟
s 秒
说明
可以使用 DateAdd 函数对日期加上或减去指定的时间间隔。例如,可以用 DateAdd 来计算距今天为三十天的日期;或者计算距现在为 45 分钟的时间。
为了对 date 加上“日”,可以使用“一年的日数” (“y”),“日” (”d”) 或“一周的日数” (”w”)。
DateAdd 函数将不返回有效日期。在以下实例中将 1 月31 日加上一个月:
DateAdd(m, 1, 31-Jan-95)
上例中,DateAdd 返回 1995 年 2 月 28 日,而不是 1995 年 2 月 31 日。如果 date 是 1996 年 1 月 31 日,则由于 1996 年是闰年,返回值是 1996 年 2 月 29 日。
如果计算的日期超前 100 年(减去的年度超过 date 中的年份),就会导致错误发生。
如果 number 不是一个 Long 值,则在计算时取最接近的整数值来计算。
注意 DateAdd 返回值的格式由 Control Panel设置决定,而不是由传递到date 参数的格式决定。
=========================================
DateDiff: SQL server函数
返回 Variant (Long) 的值,表示两个指定日期间的时间间隔数目。
语法
DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])
DateDiff 函数语法中有下列命名参数:
部分 描述
interval 必要。字符串表达式,表示用来计算date1 和 date2 的时间差的时间间隔
Date1□date2 必要;Variant (Date)。计算中要用到的两个日期。
Firstdayofweek 可选。指定一个星期的第一天的常数。如果未予指定,则以星期日为第一天。
firstweekofyear 可选。指定一年的第一周的常数。如果未予指定,则以包含 1 月 1 日的星期为第一周。
设置
interval 参数的设定值如下:
设置 描述
yyyy 年
q 季
m 月
y 一年的日数
d 日
w 一周的日数
ww 周
h 时
n 分钟
s 秒
----------------------------------------------------------
以上部分来源于百度
通过SQLCLR获取SQLServer服务器上控制面板设定的日期格式为什么不正确?
是在区域语言选项中改的么? 如果你是获得本地电脑的日期那就改本地的格式。 如果是连服务器的话 就得改服务器上的时间格式。 基本上应该没问题
SQLserver服务器错误日志这个如何解决
错误如下截图:日期,源,严重性,消息07/05/2013 15:40:05,,信息,[098] SQLServerAgent 已终止(一般)07/05/2013 15:40:04,,错误,[382] 无法登录到服务器“D1H310W1\LLY”(DisableAgentXPs)07/05/2013 15:40:04,,错误,[165] ODBC 错误: 0,驱动程序的 SQLAllocHandle on SQL_HANDLE_ENV 失败 [SQLSTATE IM004]07/05/2013 15:40:01,,错误,[382] 无法登录到服务器“D1H310W1\LLY”(SaveAllSchedules)07/05/2013 15:40:01,,错误,[165] ODBC 错误: 0,驱动程序的 SQLAllocHandle on SQL_HANDLE_ENV 失败 [SQLSTATE IM004]06/28/2013 15:21:49,,警告,[396] 尚未定义空闲 CPU 条件 - OnIdle 作业计划将不起任何作用06/28/2013 15:21:49,,警告,[260] 无法启动邮件会话(原因: 没有定义邮件配置文件)06/28/2013 15:21:49,,信息,[129] SQLAgent$LLY 在 Windows NT 服务控制下启动06/28/2013 15:21:49,,错误,[364] 尚未启动 Messenger 服务 - 将不发送 NetSend 通知06/28/2013 15:21:31,,信息,[432] 子系统缓存中有 12 个子系统06/28/2013 15:21:31,,信息,[339] 本地计算机是 D1H310W1,运行的是 Windows NT 5.1 (2600) Service Pack 306/28/2013 15:21:31,,信息,[310] 检测到 4 个处理器和 1929 MB RAM06/28/2013 15:21:31,,信息,[103] 驱动程序使用的 NetLib 是 DBNETLIB.DLL;本地主机服务器是 D1H310W1\LLY06/28/2013 15:21:31,,信息,[102] SQL Server ODBC 驱动程序版本 10.00.160006/28/2013 15:21:31,,信息,[101] SQL Server D1H310W1\LLY 版本 10.00.1600 (连接限制: 0)06/28/2013 15:21:31,,信息,[100] Microsoft SQLServerAgent 版本 10.0.1600.22 (内部版本号 x86 unicode 零售): 进程 ID 2504只有重启计算机才能继续运行。。。