sql server獲取當前日期

SqlServer中獲得當前日期(convert函數,getdate函數)
函數GETDATE()的返回值在顯示時只顯示到秒。實際上,SQL Sever內部時間能夠精確到毫秒級(確切地說,能夠精確到3.33毫秒)。 ..類型0,9,和13老是返回四位的年。對其它類型,要顯示世紀,把style值加上100。類型13和14返回24小時時鐘的時間。類型0,7,和 13返回的月份用三位字符表示(用Nov表明November).
對錶11.1中所列的每一種格式,你能夠把類型值加上100來顯示有世紀的年(例如,00年將顯示爲2000年)。例如,要按日本標準顯示日期,包括世紀,你應使用以下的語句:
SELECT CONVERT(VARCHAR(30),GETDATE(),111)
在這個例子中,函數CONVERT()把日期格式進行轉換,顯示爲1997/11/30
要獲得不一樣格式的日期和時間,你須要使用函數CONVERT()。例如,當下面的這個語句執行時,顯示的時間將包括毫秒:
SELECT CONVERT(VARCHAR(30),GETDATE(),9)
注意例子中數字9的使用。這個數字指明瞭在顯示日期和時間時使用哪一種日期和時間格式。當這個語句執行時,將顯示以下的日期和時間:
簡體中文OS:02   6 2007   4:33:56:530PM
英文OS:Nov 30 1997 3:29:55:170AM
convert函數中的style參數提供了datetime或smalldatetime轉換到char或varchar的多種日期顯示格式。 Style的數字參數決定日期被如何顯示。年能夠被顯示成兩位數(yy),也能夠顯示成4位數(yyyy)。例如,將style參數賦值爲100,能夠得 到一個4位的年號,即包括世紀值(yyyy).
下表列出了style參數的可用值及可使用的各類日期格式。當同smalldatetime類型一塊兒使用style參數時,那些包括秒和毫秒的格式將在其位值顯示零。
類型值          標準                                    輸出    
0               Default                                 mon dd yyyy hh:miAM    
1               USA                                     mm/dd/yy   
2               ANSI                                    yy.mm.dd   
3               British/French                          dd/mm/yy    
4               German                                  dd.mm.yy    
5               Italian                                 dd-mm-yy    
6               -                                       dd mon yy    
7               -                                       mon dd,yy    
8               -                                       hh:mi:ss   
9               Default + millisecondsR11;mon           dd yyyy hh:mi:ss:mmmAM(or )    
10              USA                                     mm-dd-yy    
11              JAPAN                                   yy/mm/dd    
12              ISO                                     yymmdd    
13              Europe                                  Default + millisecondsR11;dd mon yyyy    hh:mi:ss:mmm(24h)    
14              -                                       hh:mi:ss:mmm(24h)    
類型值前面加1,好比101 則顯示 mm/dd/yyyy  





---------------------------------------------------------------------------------
有時侯在數據庫的某些字段因特殊考慮的關係
這些字段是用char或nchar的格式來儲存日期

若是但願將這些字段中轉成一致的日期格式(如yyyy/mm/dd)
例如1988/1/1轉成1988/01/01的話
請試着參考如下的語法…

SELECT CONVERT(varchar(10),CONVERT(datetime,employee_birthday,111),111)
FROM employee


其它格式轉換的範例以下:
--YYYY/MM/DD
Select Convert(varchar(10),Getdate(),111)
--YYYYMMDD
Select Convert(varchar(10),Getdate(),112)
--HH:MM:SS
Select Convert(varchar(8),Getdate(),108)
--HH:MM:SS:mmm
Select Convert(varchar(12),Getdate(),114)




---------------------------------------------------------------------------------
如何用sql語言只得到數據庫當前日期,且格式爲"yyyy-mm-dd"?
select convert(char(10),getdate(),120)




---------------------------------------------------------------------------------sql

--字符轉換爲日期時,Style的使用數據庫

--1. Style=101時,表示日期字符串爲:mm/dd/yyyy格式
SELECT CONVERT(datetime,'11/1/2003',101)
--結果:2003-11-01 00:00:00.000函數

--2. Style=101時,表示日期字符串爲:dd/mm/yyyy格式
SELECT CONVERT(datetime,'11/1/2003',103)
--結果:2003-01-11 00:00:00.000字符串



DECLARE @dt datetime
SET @dt='2003-1-11'get

--1. Style=101時,表示將日期轉換爲:mm/dd/yyyy 格式
SELECT CONVERT(varchar,@dt,101)
--結果:01/11/2003it

--2. Style=103時,表示將日期轉換爲:dd/mm/yyyy 格式
SELECT CONVERT(varchar,@dt,103)
--結果:11/01/2003ast



SELECT CONVERT(varchar,'2003-1-11',101)
--結果:2003-1-11date

--1.select

--示例 ,在下面的示例中,第一個CONVERT轉換未指定style,轉換的結果受SET DATAFORMAT的影響,第二個CONVERT轉換指定了style,轉換結果受style的影響。
--設置輸入日期順序爲 日/月/年
SET DATEFORMAT DMY語法

--不指定Style參數的CONVERT轉換將受到SET DATEFORMAT的影響
SELECT CONVERT(datetime,'2-1-2005')
--結果: 2005-01-02 00:00:00.000

--指定Style參數的CONVERT轉換不受SET DATEFORMAT的影響
SELECT CONVERT(datetime,'2-1-2005',101)
--結果: 2005-02-01 00:00:00.000
GO

--2.

--示例,在下面的代碼中,一樣的SET DATEFORMAT設置,輸入日期的世紀部分與不輸入日期的世紀部分,解釋的日期結果不一樣。
DECLARE @dt datetime

--設置SET DATEFORMAT爲:月日年
SET DATEFORMAT MDY

--輸入的日期中指定世紀部分
SET @dt='01-2002-03'
SELECT @dt
--結果: 2002-01-03 00:00:00.000

--輸入的日期中不指定世紀部分
SET @dt='01-02-03'
SELECT @dt
--結果: 2003-01-02 00:00:00.000
GO

--3.

--示例,在下面的代碼中,不包含日期分隔符的字符日期,在不一樣的SET DATEFORMAT設置下,其解釋的結果是同樣的。
DECLARE @dt datetime

--設置SET DATEFORMAT爲:月日年
SET DATEFORMAT MDY
SET @dt='010203'
SELECT @dt
--結果: 2001-02-03 00:00:00.000

--設置SET DATEFORMAT爲:日月年
SET DATEFORMAT DMY
SET @dt='010203'
SELECT @dt
--結果: 2001-02-03 00:00:00.000

--輸入的日期中包含日期分隔符
SET @dt='01-02-03'
SELECT @dt
--結果: 2003-02-01 00:00:00.000

--如下示例演示了在不一樣的語言環境(SET LANGUAGE)下,DATENAME與CONVERT函數的不一樣結果。
USE master

--設置會話的語言環境爲: English
SET LANGUAGE N'English'
SELECT
DATENAME(Month,GETDATE()) AS [Month],
DATENAME(Weekday,GETDATE()) AS [Weekday],
CONVERT(varchar,GETDATE(),109) AS [CONVERT]

--設置會話的語言環境爲: 簡體中文SET LANGUAGE N'簡體中文'SELECTDATENAME(Month,GETDATE()) AS [Month],DATENAME(Weekday,GETDATE()) AS [Weekday],CONVERT(varchar,GETDATE(),109) AS [CONVERT]

相關文章
相關標籤/搜索