① sql日期格式化
sql server中使用convert來取得datetime數據類型樣式(全)
日期數據格式的處理,兩個示例:
CONVERT(varchar(16), 時間一, 20) 結果:2007-02-01 08:02/*時間一般為getdate()函數或數據表裡的欄位*/
CONVERT(varchar(10), 時間一, 23) 結果:2007-02-01 /*varchar(10)表示日期輸出的格式,如果不夠長會發生截取*/
語句及查詢結果:
SelectCONVERT(varchar(100),GETDATE(),0)--0516200610:57AM
SelectCONVERT(varchar(100),GETDATE(),1)--05/16/06
SelectCONVERT(varchar(100),GETDATE(),2)--06.05.16
SelectCONVERT(varchar(100),GETDATE(),3)--16/05/06
SelectCONVERT(varchar(100),GETDATE(),4)--16.05.06
SelectCONVERT(varchar(100),GETDATE(),5)--16-05-06
SelectCONVERT(varchar(100),GETDATE(),6)--160506
SelectCONVERT(varchar(100),GETDATE(),7)--0516,06
SelectCONVERT(varchar(100),GETDATE(),8)--10:57:46
SelectCONVERT(varchar(100),GETDATE(),9)--0516200610:57:46:827AM
SelectCONVERT(varchar(100),GETDATE(),10)--05-16-06
SelectCONVERT(varchar(100),GETDATE(),11)--06/05/16
SelectCONVERT(varchar(100),GETDATE(),12)--060516
SelectCONVERT(varchar(100),GETDATE(),13)--1605200610:57:46:937
SelectCONVERT(varchar(100),GETDATE(),14)--10:57:46:967
SelectCONVERT(varchar(100),GETDATE(),20)--2006-05-1610:57:47
SelectCONVERT(varchar(100),GETDATE(),21)--2006-05-1610:57:47.157
SelectCONVERT(varchar(100),GETDATE(),22)--05/16/0610:57:47AM
SelectCONVERT(varchar(100),GETDATE(),23)--2006-05-16
SelectCONVERT(varchar(100),GETDATE(),24)--10:57:47
SelectCONVERT(varchar(100),GETDATE(),25)--2006-05-1610:57:47.250
SelectCONVERT(varchar(100),GETDATE(),100)--0516200610:57AM
SelectCONVERT(varchar(100),GETDATE(),101)--05/16/2006
SelectCONVERT(varchar(100),GETDATE(),102)--2006.05.16
SelectCONVERT(varchar(100),GETDATE(),103)--16/05/2006
SelectCONVERT(varchar(100),GETDATE(),104)--16.05.2006
SelectCONVERT(varchar(100),GETDATE(),105)--16-05-2006
SelectCONVERT(varchar(100),GETDATE(),106)--16052006
SelectCONVERT(varchar(100),GETDATE(),107)--0516,2006
SelectCONVERT(varchar(100),GETDATE(),108)--10:57:49
SelectCONVERT(varchar(100),GETDATE(),109)--0516200610:57:49:437AM
SelectCONVERT(varchar(100),GETDATE(),110)--05-16-2006
SelectCONVERT(varchar(100),GETDATE(),111)--2006/05/16
SelectCONVERT(varchar(100),GETDATE(),112)--20060516
SelectCONVERT(varchar(100),GETDATE(),113)--1605200610:57:49:513
SelectCONVERT(varchar(100),GETDATE(),114)--10:57:49:547
SelectCONVERT(varchar(100),GETDATE(),120)--2006-05-1610:57:49
SelectCONVERT(varchar(100),GETDATE(),121)--2006-05-1610:57:49.700
SelectCONVERT(varchar(100),GETDATE(),126)--2006-05-16T10:57:49.827
SelectCONVERT(varchar(100),GETDATE(),130)--18??????????142710:57:49:907AM
SelectCONVERT(varchar(100),GETDATE(),131)--18/04/142710:57:49:920AM
說明:
使用 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 支持使用科威特演算法的阿拉伯樣式中的數據格式。
在表中,左側的兩列表示將 datetime 或 smalldatetime 轉換為字元數據的 style 值。給 style 值加 100,可獲得包括世紀數位的四位年份 (yyyy)。
不帶世紀數位 (yy) 帶世紀數位 (yyyy)
標准
輸入/輸出**
- 0 或 100 (*) 默認值 mon dd yyyy hh:miAM(或 PM)
1 101 美國 mm/dd/yyyy
2 102 ANSI yy.mm.dd
3 103 英國/法國 dd/mm/yy
4 104 德國 dd.mm.yy
5 105 義大利 dd-mm-yy
6 106 - dd mon yy
7 107 - mon dd, yy
8 108 - hh:mm:ss
- 9 或 109 (*) 默認值 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM(或 PM)
10 110 美國 mm-dd-yy
11 111 日本 yy/mm/dd
12 112 ISO yymmdd
- 13 或 113 (*) 歐洲默認值 + 毫秒 dd mon yyyy hh:mm:ss:mmm(24h)
14 114 - hh:mi:ss:mmm(24h)
- 20 或 120 (*) ODBC 規范 yyyy-mm-dd hh:mm:ss[.fff]
- 21 或 121 (*) ODBC 規范(帶毫秒) yyyy-mm-dd hh:mm:ss[.fff]
- 126(***) ISO8601 yyyy-mm-dd Thh:mm:ss.mmm(不含空格)
- 130* Hijri**** dd mon yyyy hh:mi:ss:mmmAM
- 131* Hijri**** dd/mm/yy hh:mi:ss:mmmAM
* 默認值(style 0 或 100、9 或 109、13 或 113、20 或 120、21 或 121)始終返回世紀數位 (yyyy)。
** 當轉換為 datetime時輸入;當轉換為字元數據時輸出。
*** 專門用於 XML。對於從 datetime或 smalldatetime 到 character 數據的轉換,輸出格式如表中所示。對於從 float、money 或 smallmoney 到 character 數據的轉換,輸出等同於 style 2。對於從 real 到 character 數據的轉換,輸出等同於 style 1。
****Hijri 是具有幾種變化形式的日歷系統,Microsoft® SQL Server™ 2000 使用其中的科威特演算法。重要 默認情況下,SQL Server 根據截止年份 2049 解釋兩位數字的年份。即,兩位數字的年份 49 被解釋為 2049,而兩位數字的年份 50 被解釋為 1950。許多客戶端應用程序(例如那些基於 OLE 自動化對象的客戶端應用程序)都使用 2030 作為截止年份。SQL Server 提供一個配置選項("兩位數字的截止年份"),藉以更改 SQL Server 所使用的截止年份並對日期進行一致性處理。然而最安全的辦法是指定四位數字年份。
當從 smalldatetime 轉換為字元數據時,包含秒或毫秒的樣式將在這些位置上顯示零。當從 datetime 或 smalldatetime 值進行轉換時,可以通過使用適當的 char 或 varchar 數據類型長度來截斷不需要的日期部分。
② format可以用在SQL語句中嗎怎麼用,謝謝
#2006-11-27 13:11:23#)
這個應該是對的。
不過你要看看data表中那個日期時間型欄位的位置
一般來說這樣用比較正確:
insert into DATA(欄位名) values(#2006-11-27 13:11:23#)
第一個補充問題,我不太清楚。
第二個問題,values是不能作為表名的。
③ 如何在 SQL Server中 將日期格式化
1、打開【Microsoft SQL Server Management Studio】圖形化管理工具,點擊頂部菜單的【新建查詢】,打開一個SQL輸入窗口;
④ sql字元串轉換成日期
sql字元串轉換成日期語句:日期=convert(datetime,字元串)。
CONVERT ()語句的用途是將一種數據類型的表達式轉換為另一種數據類型的表達式。格式是CONVERT ( data_type [ ( length ) ] , expression [ , style ] )。
expression:任何有效的表達式。
data_type:目標數據類型。這包括xml、bigint和sql_variant。不能使用別名數據類型。
length:指定目標數據類型長度的可選整數。默認值為 30。
style:指定 CONVERT 函數如何轉換expression的整數表達式。如果樣式為 NULL,則返回 NULL。該范圍是由data_type確定的。
返回類型:返回轉換為data_type的expression。
(4)sql日期format擴展閱讀:
如果expression為 date 或 datetime 數據類型,則其他值作為 0 進行處理。SQL Server 使用科威特演算法來支持阿拉伯樣式的日期格式。
style 將datetime和smalldatetime數據轉換為字元串時所選用的由SQL Server系統提供的轉換樣式編號,不同的樣式編號有不同的輸出格式;一般在時間類型(datetime,smalldatetime)與字元串類型(nchar,nvarchar,char,varchar)相互轉換的時候才用到。
⑤ sql 中可以使用format 嗎
可以。使用方法:FormatDateTime(Date[, NamedFormat])
參數 Date 必選項。要被格式化的日期表達式。
NamedFormat 可選項。指示所使用的日期/時間格式的數值,如果省略,則使用 vbGeneralDate。
設置 NamedFormat 參數可以有以下值:
常數 值 描述
vbGeneralDate 0 顯示日期和/或時間。如果有日期部分,則將該部分顯示為短日期格式。如果有時間部分,則將該部分顯示為長時間格
式。如果都存在,則顯示所有部分。
vbLongDate 1 使用計算機區域設置中指定的長日期格式顯示日期。
vbShortDate 2 使用計算機區域設置中指定的短日期格式顯示日期。
vbLongTime 3 使用計算機區域設置中指定的時間格式顯示時間。
vbShortTime 4 使用 24 小時格式 (hh:mm) 顯示時間。
⑥ 在sql中日期的格式是如何控制的,在線等
使用convert函數進行處理
語法
CONVERT(datatype,expression[,format-style])
參數
datatype表達式將轉換成的數據類型。
expression要轉換的表達式。
format-style對於將字元串轉換為日期或時間數據類型以及相反的轉換過程,format-style是描述要使用的日期格式字元串的樣式代碼。format-style參數的值具有下列含義:不含世紀(yy)含世紀(yyyy)輸出
0或100Mmmddyyyyhh:nn:ss:sssAM(或PM)
101mm/dd/yy[yy]
102[yy]yy.mm.dd
103dd/mm/yy[yy]
104dd.mm.yy[yy]
105dd-mm-yy[yy]
106ddMmmyy[yy]
107Mmmdd,yy[yy]
108hh:nn:ss
109Mmmddyyyyhh:nn:ss:sssAM(或PM)
110mm-dd-yy[yy]
111[yy]yy/mm/dd
112[yy]yymmdd
113ddMmmyyyhh:nn:ss:sss(24小時制,歐洲預設時間+毫秒,4位數年份)
114hh:nn:ss:sss(24小時制)
120yyyy-mm-ddhh:nn:ss:sss(24小時制,ODBC規范,4位數年份)
121yyyy-mm-ddhh:nn:ss.sss(24小時制,ODBC規范加毫秒,4位數年份)
⑦ SQL 日期格式轉換
你只要在輸入表格的時候規定輸入的日期控制項值為"short
date"格式即可。你輸入的日期值將為
年、月、日,而沒有具體的時間了。格式為:
format(text1.text,"short
date")
或者
format(dtpicker1.value,"short
date")
給你個代碼,你可以看看結果的不同。
Dim
da
As
Date
da
=
Now
MsgBox
da
MsgBox
Format(da,
"short
date")
⑧ 請問SQL SERVER怎樣設置日期格式
若要設置伺服器上的語言,必須使用sp_addlanguage 添加語言。下面的示例將語言設置為英語(英國),並將日期格式設置為DD/MM/YY。該示例還可以應用於其他國家/地區,但可能需要修改 sp_addlanguage 的參數。
exec sp_addlanguage 'British','English',
'January,February,March,April,May,June,July,August,September,October,
November,December',
'Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec',
'Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday',
dmy,1
sp_configure 'default language',1
reconfigure with override
在安裝了其他語言之後,若要將默認語言重新設置為英語(美國),請使用以下 SQL 語句:
sp_configure 'default language',0
reconfigure with override
要檢查伺服器上已經安裝的默認語言,請使用以下SQL 命令:sp_configure 'default language'
如果結果值為 0,則默認語言為英語(美國)。如果結果不為 0,請運行以下 SQL 命令查找已安裝的默認語言設置和使用的日期格式:
select name ,alias, dateformat
from syslanguages
where langid =
(select value frommaster..sysconfigures
where comment = 'defaultlanguage')
通過在 SQL Server 安裝程序中進行語言設置,SQL Server 還可支持多種語言。這需要使用面向多數語言的本地化文件。
⑨ sql語句 日期 format
看看,是不是這個 http://www.w3school.com.cn/sql/sql_dates.asp
⑩ 怎樣在sql語句內加上formatdatetime函數
formatdateTime()函數返回表達式,此表達式已被格式化為日期或時間 表達式 formatdateTime(Date, [, Namedformat]) 允許數據類型: Namedformat 指示所使用的日期/時間格式的數值,如果省略,則使用 vbGeneralDate.
Create function FormatDateTime(@Date datetime,@formatStr varchar(20))
returns varchar(16)
as
begin
declare @tempstr varchar(20),@index int,@retStr varchar(20),@formatLen int,@str1 varchar(6),@str2 varchar(6),@str3 varchar(6),@j int
declare @tempformat varchar(20)
select @tempformat=@formatStr,@formatStr = Upper(@formatStr),@index=-1,@retstr=''
if @formatStr='MM/DD/YYYY'
set @retstr= convert(varchar(10),@date,101)
else if @formatstr='YYYY-MM-DD'
set @retstr = Convert(char(10),@Date,20)
else if @formatStr='YYYY.MM.DD'
set @retstr= Convert(varchar(10),@Date,102)
else if @formatStr='YYYY/MM/DD'
set @retstr= Convert(varchar(10),@Date,111)
else if @formatStr='DD/MM/YYYY'
set @retstr= Convert(varchar(10),@Date,103)
else if @formatStr='DD.MM.YYYY'
set @retstr= Convert(varchar(10),@Date,104)
else if @formatStr='DD-MM-YYYY'
set @retstr= Convert(varchar(10),@Date,105)
else if @formatStr='YYYYMMDD'
set @retstr= Convert(varchar(10),@Date,112)
else
begin
select @tempformat=@formatStr,@formatLen = len(@formatStr)
if @formatLen>8
begin
set @index=charindex('M',@tempformat)
select @str1=right(left(@tempformat,@index-1),@index-5),@str2=right(@tempformat,@formatLen-@index-1)
select @index=charindex('D',@str2),@str3=@str2
set @str2=left(@str2,@index-1)
set @str3=right(@str3,len(@str3)-@index-1)
end
select @tempstr = Convert(char(10),@Date,20),@str1=isnull(@str1,''),@str2=isnull(@str2,''),@str3=isnull(@str3,''),@j=0
while @index <> 0
begin
set @index = charindex('-',@tempstr)
if @j=0
select @retstr=left(@tempstr,@index-1) @str1,@j=@j 1
else set @retstr=@retstr left(@tempstr,@index-1) @str2
select @tempstr=right(@tempstr,len(@tempstr)-@index)
set @index= charindex('-',@tempstr)
end
set @retstr=@retstr @tempstr @str3
end
return @retstr
end
用法如下:
select dbo. FormatDatetime(GetDate(),'YYYY年MM月DD日')
@formatStr格式串支持:
MM/DD/YYYY
YYYY-MM-DD
YYYY.MM.DD
YYYY/MM/DD
DD/MM/YYYY
DD.MM.YYYY
DD-MM-YYYY
YYYYMMDD或者
類似YYYY年MM月DD日
YYYY MM之間最多支持兩個漢字,MM DD之間也最多支持兩個個漢字
select dbo. FormatDatetime(GetDate(),'YYYY元年MM月份DD日')
不知道你什麼資料庫
自己創建存儲過程總不會錯^_^分給我吧