Dołącz do nas!

Wszystkie znaki interpunkcyjne za wyjątkiem kropek, łączników, znaków podkreśleń i spacji są niedozwolone.
Adres e-mail, koniecznie prawidłowy. Będą nań przesyłane wszystkie wiadomości e-mail od systemu. Adres nie jest udostępniany publicznie i będzie wykorzystywany jedynie w wypadku prośby o przesłanie nowego hasła lub do przesyłania informacji o nowościach czy innych komunikatów.
CAPTCHA
To pytanie ma na celu ochronę przed automatycznym spamowaniem oraz ustalenie, czy odwiedzający stronę jest człowiekiem.
Image CAPTCHA
Wpisz kod widoczny powyżej.

Logowanie

Nazwa użytkownika witryny Project Envision.
Hasło powiązane z nazwą użytkownika.
Prześlij nowe hasło

Sql Server Convert YYYYMMDD to Date

Sql Server Administrators often face a problem when working with some application, in which their developers decided to store dates as integers. In those applications the dates are stored as integers in format YYYYMMDD. This post will illustrate how to convert YYYYMMDD format to smalldatetime data type and back on Microsoft Sql Server.

Let's start from creating a table which will store date as integer in YYYYMMDD format

create table t1( 
c1 int)

insert into t1(c1) values(20090620)
(1 row(s) affected)
select * from t1

20090620

To convert integer to smalldatetime, we will use CAST function. First we will convert integer to varchar and then to smalldatetime.

select cast(cast(c1 as varchar(10)) as smalldatetime) 
from t1

2009-06-20 00:00:00

To convert a smalldatetime date to integer we can use CONVERT and CAST functions.

create table t2( 
c1 smalldatetime)

insert into t2(c1) values(getdate())
select cast(convert(varchar(8),c1,112) as integer)
from t2

20090630