把int型別日期轉換為datetime型別日期

2021-09-08 21:42:31 字數 2120 閱讀 7744

在維護乙個**,原開發者儲存日期時,都是使用int資料型別,如20120218等。現insus.net獲取這個欄位做其它處理,得先需要把它們轉為datetime資料型別。

因此產生以下這個user-defined functions(自定義函式):

create

function

[dbo

]. [

udf_convertintdatetime](

@intdate

int)  

returns

datetime

asbegin

declare

@rtv

datetime

set@rtv

=convert(

datetime, 

cast(

@intdate

aschar(

8)), 

112) 

return

@rtv

end

上面自定義函式中乙個引數112,可以參考下鏈結最後一句。自定義函式應用:

select[id

], [

orderdate

], [

dbo].

[udf_convertintdatetime

]( [

orderdate

])  as

[order_date

]from dbo.

[orders]

結果:

下面文字,更新於2012-02-18 17:10

發現原欄位還有6位int的日期,年份只有兩位,如110317等。因為insus.net還需要更新上面的自定義函式, 有關是使用引數12還得再參考上面鏈結。:

alter

function

[dbo

]. [

udf_convertintdatetime](

@intdate

int)  

returns

datetime

asbegin

declare

@rtv

datetime

set@rtv

=case

len(

@intdate)

when

6then

convert(

datetime, 

cast(

@intdate

aschar(

6)),

12)when

8then

convert(

datetime, 

cast(

@intdate

aschar(

8)),

112)

else

null

endreturn

@rtv

end

演示:

下面文字更新於2012-02-20 00:05

今天本是星期天,下午使用者來電,說一些日期無法顯示,顯示為空。使用者說一筆記錄日期為010627時,它就顯示為空。使用者區域語言不一樣,讓該函式無法識別2位數的年份。只有指定dateformat才能正確顯示日期。讓insus.net起以前乙個自定義函式,即可以解決此問題:

把int轉換為char把int轉換為char

char ultoa unsigned long value,char string,int radix 將無符號整型數value轉換成字串並返回該字串,radix為轉換時所用基數 char ltoa long value,char string,int radix 將長整型數value轉換成字串並...

把String型別轉換為Date型別遇到的問題。

public static date convertstringtodate string date catch exception e 我們想用這個方法把我們傳進去的字串轉成日期型別 現在呼叫方法傳進乙個值 convertstringtodate 2010 10 第一次列印結果 fri dec 1...

把double型轉換為int型

double d1 100.00 double d1 new double d1 int i1 d1.intvalue 簡單型別的變數轉換為相應的包裝類,可以利用包裝類的建構函式。即 boolean boolean value character char value integer int val...