BİLGİ SAYAMIYORUM beta

MS SQL de tarih istenilen formata nasıl dönüştürülür?

0

Ms Sql veri tabanı kullanılan bir projede tarih bilgileri genellikle "smalldatetime" ya da "datetime" olarak tutulur. Ancak görsel kısıma geçildiğinde bu tarihleri bu şekilde göstermek pek hoş gözükmez. 

Örn: 2011-03-14 00:00:00

Bu yüzden veri tabanından tarih-zaman çekerken bunları istenilen formata getirmek aslında bir satırlık bir kodla sağlanır:

CONVERT(nvarchar(50),date,106) AS newDate

Mesela şu tipte bir sorgu (query) olsun. 

SELECT
   ID,
   title,
   content,
   date,
   image
FROM
   news
Burada tarih tutulduğu şekilde gelecektir. Ama bunu başka bir formatta getirmek isterseniz yapmanız gereken de şu:
SELECT
   ID,
   title,
   content,
   CONVERT(nvarchar(50),date,106) AS date,
   image
FROM
   news
Burada tarih "dd mon yy" (14 may 11) şeklinde gelecektir. "106" yazan yeri değiştirerek istediğiniz tipi elde edebilirsiniz.
 
 
Aşağıdaki tabloda Microsoft belirlediği tipleri görebilirsiniz:
 

Yüzyıl  

 

Yok 

 

(yy) 

Yüzyıl

 

Var 

 

(yyyy)

Standard

Input/Output 

-

0 or 100

Default

mon dd yyyy hh:miAM

(or PM)

1

101

U.S.

mm/dd/yyyy

2

102

ANSI

yy.mm.dd

3

103

British/French

dd/mm/yyyy

4

104

German

dd.mm.yy

5

105

Italian

dd-mm-yy

6

106

-

dd mon yy

7

107

-

Mon dd, yy

8

108

-

hh:mi:ss

-

9 or 109

Default + milliseconds

mon dd yyyy hh:mi:ss:mmmAM

(or PM)

10

110

USA

mm-dd-yy

11

111

JAPAN

yy/mm/dd

12

112

ISO

yymmdd

 

yyyymmdd

-

13 or 113

Europe default + milliseconds

dd mon yyyy hh:mi:ss:mmm

(24h)

14

114

-

hh:mi:ss:mmm(24h)

-

20 or 120

ODBC canonical

yyyy-mm-dd hh:mi:ss

(24h)

-

21 or 121

ODBC canonical

(with milliseconds)

yyyy-mm-dd hh:mi:ss.mmm

(24h)

-

126

ISO8601

yyyy-mm-ddThh:mi:ss.mmm

(boşluksuz)

-

127

ISO8601 with time zone Z.

yyyy-mm-ddThh:mi:ss.mmmZ

(no spaces)

-

130

Hijri

dd mon yyyy hh:mi:ss:mmmAM

-

131

Hijri

dd/mm/yy hh:mi:ss:mmmAM

 

BENZER 7

Kimse etkileşime girmemiş

ETİKETLER