sql 语句的两个问题??

cis111 2004-12-04 04:35:18
..............
..............(
SELECT MIN(日期) AS MinDay
FROM tbl
GROUP BY DATEDIFF(month, 0, 日期)
) M
WHERE DATEDIFF(mm, DATEADD(dd, N.i, DATEADD(dd, 1-DAY(m.MinDay), m.MinDay)), M.MinDay)=0) AS Y
ON tbl.[日期]=Y.日期
有两个不明白的地方,一:datediff函数中的“0”指的是什么?二:在where 后面可以接非条件语句,
DATEDIFF函数在此好象没有任何条件限制。
附加问题:如果以知一个函数的表达式的值,要求其中一个参数的值要怎么写语句呢?
譬如datediff(a,b,c)=d,b和d以知,要求c值,要怎么处理呢??
请多指点!!!
...全文
48 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
whisht 2004-12-04
  • 打赏
  • 举报
回复
GZ
zjcxc 元老 2004-12-04
  • 打赏
  • 举报
回复
二:在where 后面可以接非条件语句

where 后面不能接非条件语句,楼主给出的语句是子查询嵌套,后面的不属于where 的范围,是嵌套的外层子查询的内容
zjcxc 元老 2004-12-04
  • 打赏
  • 举报
回复
0 --> 1900-1-1

select cast(0 as datetime)

--结果:1900-01-01 00:00:00.000
yingqing 2004-12-04
  • 打赏
  • 举报
回复
DATEDIFF
傳回跨越兩個指定日期的日期與時間界線數目。

語法
DATEDIFF ( datepart , startdate , enddate )

引數
datepart

是指定要以日期的那一個部份要用來計算差異的參數。下表列出 Microsoft® SQL Server™ 所能辨識的日期部份與縮寫。

Datepart 縮寫
Year yy, yyyy
quarter qq, q
Month mm, m
dayofyear dy, y
Day dd, d
Week wk, ww
Hour hh
minute mi, n
second ss, s
millisecond 微秒


startdate

是計算的開始日期。startdate 是一個傳回 datetime 或 smalldatetime 值的運算式,或是一個使用日期格式的字元字串。

由於 smalldatetime 的精確度只有到分鐘,因此若使用 smalldatetime 值,則秒和毫秒部份必為 0。

如果只指定年份的後面兩位數字,那麼小於或等於 two digit year cutoff 組態選項值最後兩位數字的值,會與截止年份位於相同世紀。大於此選項值最後兩位數字的值,其世紀為截止年份的前一個世紀。例如,若 two digit year cutoff 為 2049 (預設值),那麼 49 會被視為 2049,2050 則會被視為 1950。為了避免發生混淆,請使用四位數字的年份。

如需關於指定時間值的詳細資訊,請參閱時間格式。如需關於指定日期的詳細資訊,請參閱 datetime 與 smalldatetime。

enddate

是計算的結束日期。enddate 是一個傳回 datetime 或 smalldatetime 值的運算式,或是一個使用日期格式的字元字串。

傳回型別
integer

備註
startdate 是自 enddate 減去而得。如果 startdate 的日期晚於 enddate,則傳回負數值。

如果結果超出整數值的範圍,DATEDIFF 便會產生錯誤。毫秒的最大值是 24 天,20 小時,31 分鐘又 23.647 秒。秒的最大值是 68 年。

計算跨越界限 (如分、秒及毫秒) 的方法,可讓 DATEDIFF 所產生的結果無論在何種資料型別中均一致。結果是一個加有正負號的整數值,等於跨越第一和第二個日期的 datepart 界限之數目。例如,介於一月四日星期日和一月十一日星期日的週數是 1。

範例
這個範例決定了現行日期和 pubs 資料庫中標題的發行日之間的差異。

USE pubs
GO
SELECT DATEDIFF(day, pubdate, getdate()) AS no_of_days
FROM titles
GO


34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧