sqlserver插入日期
㈠ 如何插入時間日期型數據在資料庫里
以目前三大主流資料庫oracle,mysql,sqlserver分別說明。
如果是oracle,需要用to_date函數將字元型數據轉換,插入到資料庫的日期型數據中。
如:
createtabletest
(cdatedate);
insertintotestvalues(to_date('2015-08-13','yyyy-mm-dd'));
commit;
如果是mysql或者sqlserver,可直接以字元形式插入,資料庫會自動將字元轉成日期。
createtabletest
(cdatedatetime);
insertintotestvalues('2015-08-13');
需要注意:oracle中插入後需要commit(提交),否則在關閉當前會話後,插入是不成功的。
㈡ sql資料庫 如何在插入一條數據時自動插入時間
1:第一種方式:sql資料庫在插入一條數據時自動插入時間通常的方式是在插入的sql語句中使用資料庫的時間函數進行處理。
sqlserver的時間函數getdate()函數就帶代表當前的時間(只資料庫伺服器的當前時間)。
參考代碼:
insert into table(v1,v2) values('111',getdate());
2:第二種方式:採用欄位默認值的方式
即再資料庫設計的時候,指定欄位的默認值為getdate()。
參考代碼:
insert into table(v1) values('111');
當不傳遞v2的值時,系統會自動添加系統時間。
㈢ 如何在SQL里插入當前日期
有兩種常用的辦法,一種是建立時間戳,即設定列是timestamp,就會自動插入當前時間;另一種就是用getdate()顯式的寫入。
Create
table
t
(Ddate
datetime
not
null
default
getdate())
或者
Insert
into
T(DDate)
values(getdate())
㈣ 怎麼向sqlserver插入datetime 格式數據
可以插入短日期的字元形式,也可以插入長日期的字元形式。
1、創建測試表:
createtabletest
(ttimedatetime);
2、插入短日期:
insertintotestvalues('2015-09-14');
結果截圖:
㈤ sql語句插入當前日期的時分秒怎麼插入呢
sqlserver寫的語法如下,比如被插入的表為B表,欄位為time欄位
insertintoB(time)selectreplace(substring(CONVERT(VARCHAR(19),GETDATE(),120),12,8),':','')
這里主要用了convert函數,這是sqlserver中一個進行數據類型轉化的函數。
用法簡介:
與 datetime、smalldatetime 或 sql_variant三種數據類型 一起使用時,
CONVERT和CAST 提供相似的功能 即:將某種數據類型的表達式顯式轉換為另一種數據類型。
語法
使用 CAST:
CAST ( expression AS data_type )
使用 CONVERT:
CONVERT (data_type[(length)], expression [, style])
參數
expression
是任何有效的 Microsoft SQL Server™表達式。有關更多信息,請參見表達式。
data_type
目標系統所提供的數據類型,包括 bigint 和 Sql_variant。不能使用用戶定義的數據類型。有關可用的數據類型的更多信息,請參見數據類型。
length
nchar、nvarchar、char、varchar、binary 或 varbinary 數據類型的可選參數。
style
日期格式樣式,藉以將 datetime 或 smalldatetime 數據轉換為字元數據(nchar、nvarchar、char、varchar、nchar 或 nvarchar 數據類型);或者字元串格式樣式,藉以將 float、real、money 或 smallmoney 數據轉換為字元數據(nchar、nvarchar、char、varchar、nchar 或 nvarchar 數據類型)。
㈥ 如何在SQL server insert語句中插入默認當前日期
請採納以下腳本語句
insertintoschool.student(學號,專業,入學時間)values(3222,'工商管理',getdate())
如有疑問,及時溝通
請採納!
㈦ 向sqlserver資料庫中插入數據,但是如何向里邊插入時間怎麼整,格式不會
convert(datetime,'2005-06-09',120) 將你的字元形式的轉化成日期時間格式的然後在插入,應該就OK了。
因為你現在所寫的日期為字元類型的而非時間類型的,如果這樣的insert語句直接在資料庫中執行就是可以的成功插入的,如果是在程序中通過與資料庫交互插入就需要看你定義的這個日期變數是什麼類型的,如果是定義的字元類型的就需要轉化成日期類型的然後插入。
希望對你有所幫助!
㈧ jsp向SqlServer插入日期型數據
--參考 http://msdn.microsoft.com/zh-cn/library/ms186724.aspx
--1:獲取系統日期和時間值函數
--getdate()
SELECT GETDATE() AS 'today'
--getutcdate()
SELECT GETUTCDATE() AS 'today'
--2:修改日期和時間值函數
--dateadd()
SELECT DATEADD(yy,10,GETDATE())
--獲取當前天的前後五天日期:
select DATEADD(dd,5,GETDATE())
select DATEADD(dd,-5,GETDATE())
--2008? switchoffset
--SELECT SWITCHOFFSET ('1998-09-20 7:45:50.71345 -5:00', '-08:00')
--2008? todatetimeoffset
--3:獲取日期和時間差函數
--datediff()
SELECT DATEDIFF(yy,'1984/5/3',GETDATE())
--正常使用
SELECT DATEDIFF(HOUR,'1984/5/3',GETDATE())
--轉換成正數(負負得正)
SELECT DATEDIFF(MONTH,GETDATE(),'1984/5/3')*-1
--4:獲取日期和時間部分的函數
--①datepart()返回表示指定date的指定datepart的整數:int
SELECT DATEPART(yy,GETDATE()),DATEPART(yyyy,GETDATE()) as 'year'
SELECT DATEPART(mm,GETDATE()),DATEPART(m,GETDATE()) as 'month'
SELECT DATEPART(dd,GETDATE()),DATEPART(d,GETDATE()) as 'day'
SELECT DATEPART(hh,GETDATE()) as 'Hour'
SELECT DATEPART(mi,GETDATE()),DATEPART(n,GETDATE()) as 'minute'
SELECT DATEPART(ss,GETDATE()),DATEPART(s,GETDATE()) as 'second'
SELECT DATEPART(ms,GETDATE()) as 'millisecond'
--others
SELECT DATEPART(DW,GETDATE()),DATEPART(dw,GETDATE()),DATEPART(w,GETDATE()) as 'weekday'--一周中的第幾天
SELECT DATEPART(weekday, getdate() + @@DateFirst - 1)--中國星期演算法中一周中的星期幾
SELECT DATEPART(weekday, getdate() - 1)--中國星期演算法中一周中的星期幾
SELECT DATEPART(ww,GETDATE()),DATEPART(wk,GETDATE()) as 'week'--?
SELECT DATEPART(dy,GETDATE()),DATEPART(y,GETDATE()) as 'dayofyear'--一年中的第幾天
SELECT DATEPART(qq,GETDATE()),DATEPART(q,GETDATE()) as 'quarter'--季度
SELECT DATEPART(qq,'2010-03-21'),DATEPART(q,'2010-04-01') as 'quarter'
--年(yy),季(q),月(m),周(ww),時期(w),天(d),時(hh),分(n),秒(s)--②datename()返回表示指定日期的指定datepart的字元串:nvarchar
SELECT DATENAME(weekday,GETDATE())--星期三
SELECT DATENAME(WW, GETDATE())--?--③year(),相當於 datepart(yy,時間)
SELECT YEAR(GETDATE())--④month(),相當於datepart(mm,時間)
SELECT MONTH(GETDATE())--⑤day(),相當於datepart(dd,時間)
SELECT DAY(GETDATE())
SELECT DAY('1984/5/3')
--5:驗證日期和時間值的函數
SELECT ISDATE('04/15/2008'); --Returns 1.
SELECT ISDATE('15/04/2008'); --Returns 0.--2008?
--SELECT CONVERT (date, GETDATE());
--SELECT CONVERT (time, GETDATE());
參數說明: 日期部分
縮寫 year
yy, yyyy quarter
qq, q month
mm, m dayofyear
dy, y day
dd, d week
wk, ww weekday
dw Hour
hh minute
mi, n second
ss, s millisecond
ms
Date 和 Time 樣式
--語句及查詢結果:
SELECT CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
SELECT CONVERT(varchar(100), GETDATE(), 1): 05/16/06
SELECT CONVERT(varchar(100), GETDATE(), 2): 06.05.16
SELECT CONVERT(varchar(100), GETDATE(), 3): 16/05/06
SELECT CONVERT(varchar(100), GETDATE(), 4): 16.05.06
SELECT CONVERT(varchar(100), GETDATE(), 5): 16-05-06
SELECT CONVERT(varchar(100), GETDATE(), 6): 16 05 06
SELECT CONVERT(varchar(100), GETDATE(), 7): 05 16, 06
SELECT CONVERT(varchar(100), GETDATE(), 8): 10:57:46
SELECT CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM
SELECT CONVERT(varchar(100), GETDATE(), 10): 05-16-06
SELECT CONVERT(varchar(100), GETDATE(), 11): 06/05/16
SELECT CONVERT(varchar(100), GETDATE(), 12): 060516
SELECT CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937
SELECT CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967
SELECT CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47
SELECT CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157
SELECT CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM
SELECT CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
SELECT CONVERT(varchar(100), GETDATE(), 24): 10:57:47
SELECT CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250
SELECT CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM
SELECT CONVERT(varchar(100), GETDATE(), 101): 05/16/2006
SELECT CONVERT(varchar(100), GETDATE(), 102): 2006.05.16
SELECT CONVERT(varchar(100), GETDATE(), 103): 16/05/2006
SELECT CONVERT(varchar(100), GETDATE(), 104): 16.05.2006
SELECT CONVERT(varchar(100), GETDATE(), 105): 16-05-2006
SELECT CONVERT(varchar(100), GETDATE(), 106): 16 05 2006
SELECT CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006
SELECT CONVERT(varchar(100), GETDATE(), 108): 10:57:49
SELECT CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM
SELECT CONVERT(varchar(100), GETDATE(), 110): 05-16-2006
SELECT CONVERT(varchar(100), GETDATE(), 111): 2006/05/16
SELECT CONVERT(varchar(100), GETDATE(), 112): 20060516
SELECT CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513
SELECT CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547
SELECT CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49
SELECT CONVERT(varchar(100), GETDATE(), 121): 2006
對上面進行動態生成字元串:
declare @sql1 nvarchar(200),@sql2 nvarchar(200)
declare @count nvarchar(100);
set @sql1 = 'SELECT CONVERT(varchar(100), GETDATE(), 0)'
set @sql2 = 'SELECT @count = CONVERT(varchar(100), GETDATE(), 0)'
exec sp_executesql @sql2,N'@count nvarchar(50) out',@count out
print @sql1 +':'+ @count
--SQL Server 僅保證往返轉換(即從原始數據類型進行轉換後又返回原始數 據類型的轉換)在各版本間產生相同值。
DECLARE @myval decimal (5, 2)
SET @myval = 193.57
SELECT CAST(CAST(@myval AS varbinary(20)) AS decimal(10,5))
-- Or, using CONVERT
SELECT CONVERT(decimal(10,5), CONVERT(varbinary(20), @myval))
--輸出193.57000
--輸 出193.57000
--bigint數據類型的欄位截取(其它類型也一樣)
select substring(CONVERT(varchar(15),欄位名),11,9) from 表名
select substring(cast(欄位名 as varchar(50),6,9)) from 表名
不帶世紀數位 (yy) (1) 帶世紀數位 (yyyy) 標准 輸入/輸出 (3)
- 0 或 100 (1,2) 默 認 mon dd yyyy hh:miAM(或 PM)
1 101 美 國 mm/dd/yyyy
2 102 ANSI yy.mm.dd
3 103 英 國/法國 dd/mm/yyyy
4 104 德 國 dd.mm.yy
5 105 意 大利 dd-mm-yy
6 106(1) - dd mon yy
7 107(1) - mon dd, yy
8 108 - hh:mi:ss
- 9 或 109 (1,2) 默 認設置 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM(或 PM)
10 110 美 國 mm-dd-yy
11 111 日 本 yy/mm/dd
12 112 ISO yymmdd
yyyymmdd
- 13 或 113 (1,2) 歐 洲默認設置 + 毫秒 dd mon yyyy hh:mi:ss:mmm(24h)
14 114 - hh:mi:ss:mmm(24h)
- 20 或 120 (2) ODBC 規范 yyyy-mm-dd hh:mi:ss(24h)
- 21 或 121 (2) ODBC 規范(帶毫秒) yyyy-mm-dd hh:mi:ss.mmm(24h)
- 126 (4) ISO8601 yyyy- mm-ddThh:mi:ss.mmm(無空格)
- 127(6, 7) 帶時區 Z 的 ISO8601。 yyyy-mm-ddThh:mi:ss.mmmZ
(無 空格)
- 130 (1,2) 回歷 (5) dd mon yyyy hh:mi:ss:mmmAM
- 131 (2) 回歷 (5) dd/mm/yy hh:mi:ss:mmmAM
㈨ 在sqlserver中插入當前時間,該怎麼解決
SQL server的獲得當前日期的函數是getdate(),他的默認格式是『2017-02-22 18:00:00『
例如在Table_Name中包含一個時間的列date_now
插入語句可以使用如下insert into Table_Name(date_now) values(getdate())