国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > ASP > 正文

ASP實(shí)現(xiàn)SQL語(yǔ)句日期格式的加減運(yùn)算_ASP教程

2024-05-04 11:04:03
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

推薦:怎樣提高asp程序訪問(wèn)速度
用asp程序進(jìn)行網(wǎng)頁(yè)設(shè)計(jì),大多因?yàn)樾枰L問(wèn)數(shù)據(jù)庫(kù),然后再將數(shù)據(jù)顯示到頁(yè)面,如果數(shù)據(jù)很多的話,頁(yè)面的訪問(wèn)速度也就變慢了,為了解決這個(gè)問(wèn)題,可以用以下技巧來(lái)提高頁(yè)面訪問(wèn)速度。 技巧之

今天在工作中遇到了一個(gè)問(wèn)題,需要按時(shí)間查詢,可是查詢出來(lái)的結(jié)果顯示的不正確。舉個(gè)例子來(lái)說(shuō),要查找出2007-10-12至2007-10-31之間在網(wǎng)站上注冊(cè)的會(huì)員,選擇好日期后,點(diǎn)擊“查詢”按鈕,發(fā)現(xiàn)2007-10-31注冊(cè)的會(huì)員的信息根本沒(méi)有顯示出來(lái),試驗(yàn)了幾次結(jié)果都是一樣。調(diào)試程序發(fā)現(xiàn),原來(lái)是在SQL語(yǔ)句這里出現(xiàn)了問(wèn)題。

SQL語(yǔ)句如下:SELECT * FROM userinfo WHERE regtime >= '2007-10-12' AND regtime <= '2007-10-31'。初看上去這條SQL語(yǔ)句沒(méi)有錯(cuò)誤,可是對(duì)照數(shù)據(jù)庫(kù)中相應(yīng)字段保存的值以后,發(fā)現(xiàn)保存的值并不是簡(jiǎn)單的日期形式,而是日期 時(shí)間的形式,即:yyyy-MM-dd HH:mm:ss,這時(shí)SQL語(yǔ)句在判斷regtime和'2007-10-31'的大小時(shí),會(huì)認(rèn)為'2007-10-31'寫(xiě)的不完整,所以不會(huì)認(rèn)為這兩個(gè)值是相等的。這可怎么辦呢?

不用著急,ASP為我們提供了日期加減的函數(shù),來(lái)幫我們解決這一問(wèn)題。

1.日期相加

DateAdd 函數(shù)

 

返回已添加指定時(shí)間間隔的日期。

DateAdd(interval, number, date)

DateAdd 函數(shù)的語(yǔ)法有以下參數(shù)

(1)interval 必選項(xiàng)。字符串表達(dá)式,表示要添加的時(shí)間間隔。有關(guān)數(shù)值,請(qǐng)參閱“設(shè)置”部分。

(2)number 必選項(xiàng)。數(shù)值表達(dá)式,表示要添加的時(shí)間間隔的個(gè)數(shù)。數(shù)值表達(dá)式可以是正數(shù)(得到未來(lái)的日期)或負(fù)數(shù)(得到過(guò)去的日期)。

(3)date 必選項(xiàng)。Variant 或要添加 interval 的表示日期的文字。

說(shuō)明

可用 DateAdd 函數(shù)從日期中添加或減去指定時(shí)間間隔。例如可以使用 DateAdd 從當(dāng)天算起 30 天以后的日期或從現(xiàn)在算起 45 分鐘以后的時(shí)間。要向 date 添加以“日”為單位的時(shí)間間隔,可以使用“一年的日數(shù)”(“y”)、“日”(“d”)或“一周的日數(shù)”(“w”)。

DateAdd 函數(shù)不會(huì)返回?zé)o效日期。如下示例將 95 年 1 月 31 日加上一個(gè)月:

NewDate = DateAdd("m", 1, "31-Jan-95")

在這個(gè)示例中,DateAdd 返回 95 年 2 月 28 日,而不是 95 年 2 月 31 日。如果 date 為 96 年 1 月 31 日,則返回 96 年 2 月 29 日,這是因?yàn)?1996 是閏年。

如果計(jì)算的日期是在公元 100 年之前,則會(huì)產(chǎn)生錯(cuò)誤。

如果 number 不是 Long 型值,則在計(jì)算前四舍五入為最接近的整數(shù)。

2.日期相減

DateDiff 函數(shù)

返回兩個(gè)日期之間的時(shí)間間隔。

DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]])

DateDiff 函數(shù)的語(yǔ)法有以下參數(shù):

(1)interval 必選項(xiàng)。字符串表達(dá)式,表示用于計(jì)算 date1 和 date2 之間的時(shí)間間隔。有關(guān)數(shù)值,請(qǐng)參閱“設(shè)置”部分。

(2)date1, date2 必選項(xiàng)。日期表達(dá)式。用于計(jì)算的兩個(gè)日期。

(3)Firstdayofweek 可選項(xiàng)。指定星期中第一天的常數(shù)。如果沒(méi)有指定,則默認(rèn)為星期日。有關(guān)數(shù)值,請(qǐng)參閱“設(shè)置”部分。

(4)Firstweekofyear 可選項(xiàng)。指定一年中第一周的常數(shù)。如果沒(méi)有指定,則默認(rèn)為 1 月 1 日所在的星期。有關(guān)數(shù)值,請(qǐng)參閱“設(shè)置”部分。

說(shuō)明

DateDiff 函數(shù)用于判斷在兩個(gè)日期之間存在的指定時(shí)間間隔的數(shù)目。例如可以使用 DateDiff 計(jì)算兩個(gè)日期相差的天數(shù),或者當(dāng)天到當(dāng)年最后一天之間的星期數(shù)。

要計(jì)算 date1 和 date2 相差的天數(shù),可以使用“一年的日數(shù)”(“y”)或“日”(“d”)。當(dāng) interval 為“一周的日數(shù)”(“w”)時(shí),DateDiff 返回兩個(gè)日期之間的星期數(shù)。如果 date1 是星期一,則 DateDiff 計(jì)算到 date2 之前星期一的數(shù)目。此結(jié)果包含 date2 而不包含 date1。如果 interval 是“周”(“ww”),則 DateDiff 函數(shù)返回日歷表中兩個(gè)日期之間的星期數(shù)。函數(shù)計(jì)算 date1 和 date2 之間星期日的數(shù)目。如果 date2 是星期日,DateDiff 將計(jì)算 date2,但即使 date1 是星期日,也不會(huì)計(jì)算 date1。

如果 date1 晚于 date2,則 DateDiff 函數(shù)返回負(fù)數(shù)。

firstdayofweek 參數(shù)會(huì)對(duì)使用“w”和“ww”間隔符號(hào)的計(jì)算產(chǎn)生影響。

如果 date1 或 date2 是日期文字,則指定的年度會(huì)成為日期的固定部分。但是如果 date1 或 date2 被包括在引號(hào) (" ") 中并且省略年份,則在代碼中每次計(jì)算 date1 或 date2 表達(dá)式時(shí),將插入當(dāng)前年份。這樣就可以編寫(xiě)適用于不同年份的程序代碼。

在 interval 為“年”(“yyyy”)時(shí),比較 12 月 31 日和來(lái)年的 1 月 1 日,雖然實(shí)際上只相差一天,DateDiff 返回 1 表示相差一個(gè)年份。

分享:ASP程序直接連接MYSQL數(shù)據(jù)庫(kù)
在網(wǎng)上查找大量資料,經(jīng)過(guò)自己的不懈努力,終于測(cè)試成功了。原來(lái)要在服務(wù)器上安裝mysql odbc 3.51 ,還有數(shù)據(jù)庫(kù)用戶名及密碼,用下面的密碼就可以了。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 闸北区| 孝昌县| 靖宇县| 张家川| 青川县| 长兴县| 屏山县| 乌恰县| 涟水县| 青浦区| 六盘水市| 大厂| 祥云县| 金乡县| 商城县| 门头沟区| 介休市| 拉萨市| 自贡市| 成武县| 客服| 奎屯市| 诸暨市| 高州市| 榕江县| 龙胜| 河曲县| 沈阳市| 宁国市| 定远县| 垣曲县| 岳池县| 崇义县| 阿图什市| 大新县| 尚义县| 辽宁省| 潞城市| 扎兰屯市| 丽水市| 苏尼特左旗|