正確,這是數(shù)據(jù)庫的類型決定的,只傳日期時(shí),會(huì)自動(dòng)生成00:00:00 000的小時(shí)分部份.沒有access等的date()--這樣的類型.
我們提供的服務(wù)有:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、昂仁ssl等。為成百上千企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的昂仁網(wǎng)站制作公司
首先說明你的DATEDIFF(dd,0,getdate()),這個(gè)表示獲取當(dāng)前日期與0之間的天數(shù)差,dd表示是用來表示天.然后DATEADD(dd, DATEDIFF(dd,0,getdate()), 0),這個(gè)是用來表示0加上你剛才獲取的天數(shù)差后的日期~
具體的說明如下,你可以自己了解~
------------------------------------------------------------------
DateAdd函數(shù) 返回
返回包含一個(gè)日期的 Variant (Date),這一日期還加上了一段時(shí)間間隔。
語法
DateAdd(interval, number, date)
DateAdd 函數(shù)語法中有下列命名參數(shù):
部分 描述
interval 必要。字符串表達(dá)式,是所要加上去的時(shí)間間隔。
number 必要。數(shù)值表達(dá)式,是要加上的時(shí)間間隔的數(shù)目。其數(shù)值可以為正數(shù)(得到未來的日期),也可以為負(fù)數(shù)(得到過去的日期)。
date 必要。Variant (Date) 或表示日期的文字,這一日期還加上了時(shí)間間隔。
設(shè)置
interval 參數(shù)具有以下設(shè)定值:
設(shè)置 描述
yyyy 年
q 季
m 月
y 一年的日數(shù)
d 日
w 一周的日數(shù)
ww 周
h 時(shí)
n 分鐘
s 秒
說明
可以使用 DateAdd 函數(shù)對(duì)日期加上或減去指定的時(shí)間間隔。例如,可以用 DateAdd 來計(jì)算距今天為三十天的日期;或者計(jì)算距現(xiàn)在為 45 分鐘的時(shí)間。
為了對(duì) date 加上“日”,可以使用“一年的日數(shù)” (“y”),“日” (”d”) 或“一周的日數(shù)” (”w”)。
DateAdd 函數(shù)將不返回有效日期。在以下實(shí)例中將 1 月31 日加上一個(gè)月:
DateAdd(m, 1, 31-Jan-95)
上例中,DateAdd 返回 1995 年 2 月 28 日,而不是 1995 年 2 月 31 日。如果 date 是 1996 年 1 月 31 日,則由于 1996 年是閏年,返回值是 1996 年 2 月 29 日。
如果計(jì)算的日期超前 100 年(減去的年度超過 date 中的年份),就會(huì)導(dǎo)致錯(cuò)誤發(fā)生。
如果 number 不是一個(gè) Long 值,則在計(jì)算時(shí)取最接近的整數(shù)值來計(jì)算。
注意 DateAdd 返回值的格式由 Control Panel設(shè)置決定,而不是由傳遞到date 參數(shù)的格式?jīng)Q定。
=========================================
DateDiff: SQL server函數(shù)
返回 Variant (Long) 的值,表示兩個(gè)指定日期間的時(shí)間間隔數(shù)目。
語法
DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])
DateDiff 函數(shù)語法中有下列命名參數(shù):
部分 描述
interval 必要。字符串表達(dá)式,表示用來計(jì)算date1 和 date2 的時(shí)間差的時(shí)間間隔
Date1□date2 必要;Variant (Date)。計(jì)算中要用到的兩個(gè)日期。
Firstdayofweek 可選。指定一個(gè)星期的第一天的常數(shù)。如果未予指定,則以星期日為第一天。
firstweekofyear 可選。指定一年的第一周的常數(shù)。如果未予指定,則以包含 1 月 1 日的星期為第一周。
設(shè)置
interval 參數(shù)的設(shè)定值如下:
設(shè)置 描述
yyyy 年
q 季
m 月
y 一年的日數(shù)
d 日
w 一周的日數(shù)
ww 周
h 時(shí)
n 分鐘
s 秒
----------------------------------------------------------
以上部分來源于百度
sqlserver寫的語法如下,比如被插入的表為B表,字段為time字段
insert?into?B?(time)?select?replace(substring(CONVERT(VARCHAR(19),GETDATE(),120),12,8),':','')
這里主要用了convert函數(shù),這是sqlserver中一個(gè)進(jìn)行數(shù)據(jù)類型轉(zhuǎn)化的函數(shù)。
用法簡介:
與 datetime、smalldatetime 或 sql_variant三種數(shù)據(jù)類型 一起使用時(shí),
CONVERT和CAST 提供相似的功能 即:將某種數(shù)據(jù)類型的表達(dá)式顯式轉(zhuǎn)換為另一種數(shù)據(jù)類型。
語法
使用 CAST:
CAST ( expression AS data_type )
使用 CONVERT:
CONVERT (data_type[(length)], expression [, style])
參數(shù)
expression
是任何有效的 Microsoft SQL Server??表達(dá)式。有關(guān)更多信息,請(qǐng)參見表達(dá)式。
data_type
目標(biāo)系統(tǒng)所提供的數(shù)據(jù)類型,包括 bigint 和 Sql_variant。不能使用用戶定義的數(shù)據(jù)類型。有關(guān)可用的數(shù)據(jù)類型的更多信息,請(qǐng)參見數(shù)據(jù)類型。
length
nchar、nvarchar、char、varchar、binary 或 varbinary 數(shù)據(jù)類型的可選參數(shù)。
style
日期格式樣式,借以將 datetime 或 smalldatetime 數(shù)據(jù)轉(zhuǎn)換為字符數(shù)據(jù)(nchar、nvarchar、char、varchar、nchar 或 nvarchar 數(shù)據(jù)類型);或者字符串格式樣式,借以將 float、real、money 或 smallmoney 數(shù)據(jù)轉(zhuǎn)換為字符數(shù)據(jù)(nchar、nvarchar、char、varchar、nchar 或 nvarchar 數(shù)據(jù)類型)。
你什么數(shù)據(jù)庫,那個(gè)jdsj和gddate分別都是什么類型?
假如都是日期型的吧
oracle下
update ysd set gddate=jdsj+1/24 where salesid='6928063';
sqlserver下
update ysd set gddate=dateadd(hour,1,jdsj) where salesid='6928063'
其他數(shù)據(jù)庫另說
SELECT DATEPART(hh,'2013-08-08 13:12:11') =13
SELECT DATEPART(mi,'2013-08-08 13:12:11') =12
SELECT DATEPART(ss,'2013-08-08 13:12:11') =11
SQL語句獲取各種時(shí)間的方法
1. 當(dāng)前系統(tǒng)日期、時(shí)間
select getdate()
2. dateadd 在向指定日期加上一段時(shí)間的基礎(chǔ)上,返回新的 datetime 值
例如:向日期加上2天
select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.000
3. datediff 返回跨兩個(gè)指定日期的日期和時(shí)間邊界數(shù)。
select datediff(day,'2004-09-01','2004-09-18') --返回:17
4. datepart 返回代表指定日期的指定日期部分的整數(shù)。
SELECT DATEPART(month, '2004-10-15') --返回 10
5. datename 返回代表指定日期的指定日期部分的字符串
SELECT datename(weekday, '2004-10-15') --返回:星期五
6. day(), month(),year() --可以與datepart對(duì)照一下
select 當(dāng)前日期=convert(varchar(10),getdate(),120)
,當(dāng)前時(shí)間=convert(varchar(8),getdate(),114)
7. select datename(dw,'2004-10-15')
select 本年第多少周=datename(week,getdate())
,今天是周幾=datename(weekday,getdate())
函數(shù) 參數(shù)/功能
GetDate( ) --返回系統(tǒng)目前的日期與時(shí)間?
DateDiff (interval,date1,date2) --以interval 指定的方式,返回date2 與date1兩個(gè)日期之間的差值 date2-date1?
DateAdd (interval,number,date) --以interval指定的方式,加上number之后的日期?
DatePart (interval,date) ---返回日期date中,interval指定部分所對(duì)應(yīng)的整數(shù)值?
DateName (interval,date) --返回日期date中,interval指定部分所對(duì)應(yīng)的字符串名稱
參數(shù) interval的設(shè)定值如下:
值 縮 寫(Sql Server) Access 和 ASP 說明?
Year Yy yyyy 年 1753 ~ 9999?
Quarter Qq q 季 1 ~ 4?
Month Mm m 月1 ~ 12?
Day of year Dy y 一年的日數(shù),一年中的第幾日 1-366?
Day Dd d 日,1-31?
Weekday Dw w 一周的日數(shù),一周中的第幾日 1-7?
Week Wk ww 周,一年中的第幾周 0 ~ 51?
Hour Hh h 時(shí)0 ~ 23?
Minute Mi n 分鐘0 ~ 59?
Second Ss s 秒 0 ~ 59?
Millisecond Ms - 毫秒 0 ~ 999
access 和 asp 中用date()和now()取得系統(tǒng)日期時(shí)間;其中DateDiff,DateAdd,DatePart也同是能用于Access和asp中,這些函數(shù)的用法也類似
可用函數(shù)datename 返回代表指定時(shí)間字段的小時(shí)和分鐘。SELECT datename(Hour Hh h, '2017-10-15 10:30:00') --返回:10,即10小時(shí)。SELECT datename(Minute Mi n, '2017-10-15 10:30:00') --返回:30,即30分鐘。
拓展資料:
1、SQL語言,是結(jié)構(gòu)化查詢語言(Structured Query Language)的簡稱。SQL語言是一種數(shù)據(jù)庫查詢和程序設(shè)計(jì)語言,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫系統(tǒng);同時(shí)也是數(shù)據(jù)庫腳本文件的擴(kuò)展名。
2、SQL語言是高級(jí)的非過程化編程語言,允許用戶在高層數(shù)據(jù)結(jié)構(gòu)上工作。它不要求用戶指定對(duì)數(shù)據(jù)的存放方法,也不需要用戶了解具體的數(shù)據(jù)存放方式,所以具有完全不同底層結(jié)構(gòu)的不同數(shù)據(jù)庫系統(tǒng)可以使用相同的結(jié)構(gòu)化查詢語言作為數(shù)據(jù)輸入與管理的接口。SQL語言語句可以嵌套,這使他具有極大的靈活性和強(qiáng)大的功能。