字符轉(zhuǎn)換為日期時,Style的使用\x0d\x0a--1. Style=101時,表示日期字符串為:mm/dd/yyyy格式\x0d\x0aSELECT CONVERT(datetime,'11/1/2003',101)\x0d\x0a--結(jié)果:2003-11-01 00:00:00.000\x0d\x0a--2. Style=101時,表示日期字符串為:dd/mm/yyyy格式\x0d\x0aSELECT CONVERT(datetime,'11/1/2003',103)\x0d\x0a--結(jié)果:2003-01-11 00:00:00.000\x0d\x0a \x0d\x0a/*== 日期轉(zhuǎn)換為字符串 ==*/\x0d\x0aDECLARE @dt datetime\x0d\x0aSET @dt='2003-1-11'
目前成都創(chuàng)新互聯(lián)已為上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站改版維護、企業(yè)網(wǎng)站設(shè)計、桐鄉(xiāng)網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
不知道你的字符串類型的日期是什么樣子的,下面有一個例子:
Test_OldTable是包含19990101等nvarchar數(shù)據(jù)類型的表,
Test_NewTable是包含DateTime數(shù)據(jù)類型的表
sql語句:
INSERT INTO Test_NewTable(NewDate)
SELECT CAST(OldDate AS DateTime)
FROM Test_OldTable
其他的方法還有很多,給你個鏈接,看看吧,網(wǎng)上多找找
sql字符串轉(zhuǎn)換成日期語句:日期=convert(datetime,字符串)。
CONVERT ()語句的用途是將一種數(shù)據(jù)類型的表達式轉(zhuǎn)換為另一種數(shù)據(jù)類型的表達式。格式是CONVERT ( data_type [ ( length ) ] , expression [ , style ] )。
expression:任何有效的表達式。
data_type:目標數(shù)據(jù)類型。這包括?xml、bigint?和?sql_variant。不能使用別名數(shù)據(jù)類型。
length:指定目標數(shù)據(jù)類型長度的可選整數(shù)。默認值為 30。
style:指定 CONVERT 函數(shù)如何轉(zhuǎn)換?expression?的整數(shù)表達式。如果樣式為 NULL,則返回 NULL。該范圍是由?data_type?確定的。
返回類型:返回轉(zhuǎn)換為?data_type?的?expression。
擴展資料:
如果?expression?為 date 或 datetime 數(shù)據(jù)類型,則其他值作為 0 進行處理。SQL Server 使用科威特算法來支持阿拉伯樣式的日期格式。
style 將datetime?和smalldatetime數(shù)據(jù)轉(zhuǎn)換為字符串時所選用的由SQL Server?系統(tǒng)提供的轉(zhuǎn)換樣式編號,不同的樣式編號有不同的輸出格式;一般在時間類型(datetime,smalldatetime)與字符串類型(nchar,nvarchar,char,varchar)相互轉(zhuǎn)換的時候才用到。
采用這個命令 to_date('20201208','yyyy-mm-dd') 可以將20201208字符串轉(zhuǎn)成日期類型2020-12-08。
好運請采納
建議:
1、在該表臨時加一個字段col1 設(shè)置為datetime類型
2、把08 31 2007 12:00AM轉(zhuǎn)換到2007-08-31賦給col1
SET col1 = to_date('08 31 2007 12:00AM','mm dd yyyy HH:MIPM','nls_date_language=ENGLISH') 這里把'08 31 2007 12:00AM'換成你的老的字段名字。
3、把老字段所有值清零
4、修改老字段數(shù)據(jù)類型為datetime
5、把col1這個臨時數(shù)據(jù)更新到老字段
===忘了,你這是sql server 如果to_date('08 31 2007 12:00AM','mm dd yyyy HH:MIPM','nls_date_language=ENGLISH')有問題,試試看
to_date('08 31 2007 12:00AM','mm dd yyyy HH:MIPM'),我不確定你的數(shù)據(jù)庫字符集是什么。
建議你將數(shù)據(jù)庫中的日期字段改成字符串型。長度建議為14位,即:yyyymmddhhmmss,這樣在比較時間時也比較容易運算。同時也非常容易轉(zhuǎn)換成為各種日期格式。如:
'函數(shù):把時間改為字符串yyyymmddhhmmss
function Zhuanhuan_Date(ThisDate)
Zhuanhuan_Date=year(ThisDate)
if month(ThisDate)10 then
Zhuanhuan_Date=Zhuanhuan_Date"0"month(ThisDate)elseZhuanhuan_Date=Zhuanhuan_Datemonth(ThisDate)end ifif day(ThisDate)10 then
Zhuanhuan_Date=Zhuanhuan_Date"0"day(ThisDate)elseZhuanhuan_Date=Zhuanhuan_Dateday(ThisDate)end ifif hour(ThisDate)10 then
Zhuanhuan_Date=Zhuanhuan_Date"0"hour(ThisDate)elseZhuanhuan_Date=Zhuanhuan_Datehour(ThisDate)end ifif minute(ThisDate)10 then
Zhuanhuan_Date=Zhuanhuan_Date"0"minute(ThisDate)elseZhuanhuan_Date=Zhuanhuan_Dateminute(ThisDate)end ifif second(ThisDate)10 then
Zhuanhuan_Date=Zhuanhuan_Date"0"second(ThisDate)elseZhuanhuan_Date=Zhuanhuan_Datesecond(ThisDate)end if
end function
'函數(shù):把數(shù)據(jù)庫中讀出的時間yyyymmdd hh:mm:ss改為字符串“yyyy年mm月dd日 hh:mm:ss”
Function Date_N2C (ThisDate)
Date_N2C = mid(ThisDate,1,4) "年" mid(ThisDate,5,2) "月" mid(ThisDate,7,2) "日"
Date_N2C = Date_N2C" "mid(ThisDate,9,2)":"mid(ThisDate,11,2)":"mid(ThisDate,13,2)
End Function
調(diào)用時,將Zhuanhuan_Date(ThisDate)的值寫入數(shù)據(jù)庫,對于從數(shù)據(jù)庫中取出的值,用函數(shù)Date_N2C (ThisDate)顯示出來。
文章標題:sqlserver字符串轉(zhuǎn)換成日期,sqlserver字符串轉(zhuǎn)換日期失敗
文章轉(zhuǎn)載:http://aaarwkj.com/article48/dssjeep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、移動網(wǎng)站建設(shè)、網(wǎng)站維護、品牌網(wǎng)站設(shè)計、建站公司、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)