CAST ve CONVERT (Transact-SQL)
Diğer bir ifade bir veri türüne dönüştürür SQL Server 2008 R2.
Sözdizimi
Syntax for CAST:
CAST ( expression AS data_type [ ( length ) ] )
Syntax for CONVERT:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
Bağımsız değişkenler
expression
Herhangi bir geçerli ifade.data_type
hedef veri türüdür.This includes xml, bigint, and sql_variant.Diğer ad veri türü kullanılamaz.Kullanılabilir veri türleri hakkında daha fazla bilgi için bkz: Veri Türleri (Transact-SQL).length
hedef veri tipinin uzunluğunu belirten isteğe bağlı bir tamsayı olur.Varsayılan değer 30’dır.style
Nasıl çevirmek için dönüştürme işlev olduğunu belirten bir tamsayı ifade expression.Stil null ise, null değeri döndürülür.aralık belirlenir data_type.Daha fazla bilgi için açıklamalar bölümüne bakın.
Dönüş Türleri
Döndürür expression çevrilmesi için data_type.
Açıklamalar
Tarih ve saat stilleri
Zaman expression bir tarih ve saat veri türü olan style aşağıdaki tablogösterilen değerlere biri olabilir.Diğer değerleri 0 işlenir.SQL Servertarih biçimi, Kuveyt algoritması kullanarak Arapça stilini destekler.
Yüzyıl (yy) olmadan (1) |
Yüzyıl (yyyy) |
Standart |
Giriş/çıkış (3) |
---|---|---|---|
- |
0 or 100 (1,2) |
Default |
Pzt gg yyyy hh:miAM (veya pm) |
1 |
101 |
ABD |
AA.GG.YYYY |
2 |
102 |
ANSI |
yy.mm.dd |
3 |
103 |
İngiliz/Fransızca |
aa/gg/yyyy |
4 |
104 |
Almanca |
GG.aa.yy |
5 |
105 |
İtalyanca |
gg-aa-yy |
6 |
106(1) |
- |
GG mon yy |
7 |
107(1) |
- |
Pzt dd yy |
8 |
108 |
- |
hh:mi:ss |
- |
9 or 109 (1,2) |
Varsayılan + milisaniye |
Pzt gg yyyy hh:mi:ss:mmmAM (veya pm) |
10 |
110 |
ABD |
gg-aa-yy |
11 |
111 |
JAPONYA |
yy/aa/gg |
12 |
112 |
ISO |
YYAAGG yyyyaagg |
- |
13 or 113 (1,2) |
Avrupa varsayılan + milisaniye |
GG mon yyyy hh:mi:ss:mmm(24h) |
14 |
114 |
- |
hh:mi:ss:mmm(24h) |
- |
20 or 120 (2) |
odbc kurallı |
yyyy-aa-gg hh:mi:ss(24h) |
- |
21 or 121 (2) |
odbc kurallı (milisaniye ile) |
yyyy-aa-gg hh:mi:ss.mmm(24h) |
- |
126 (4) |
ISO8601 |
yyyy-aa-ddThh:mi:ss.mmm (boşluksuz) |
- |
127(6, 7) |
z saat dilimi ile ISO8601. |
yyyy-aa-ddThh:mi:ss.mmmZ (boşluksuz) |
- |
130 (1,2) |
Hijri (5) |
GG mon yyyy hh:mi:ss:mmmAM |
- |
131 (2) |
Hijri (5) |
gg/aa/yy hh:mi:ss:mmmAM |
1 FUNCTION sonuçlarbu stil değerleri döndürür.(Yüzyıl) olmadan tüm (yy) içeren stiller ve bir alt küme kümesini (yyyy) (yüzyıl ile) stilleri.
2 The default values (style0 or 100, 9 or 109, 13 or 113, 20 or 120, and 21 or 121) always return the century (yyyy).
3 İçin dönüştürdüğünüzde giriş datetime; karakter verileri dönüştürürken çıktı.
4 xml kullanım için tasarlanmıştır.Dönüştürme işlemi için datetime veya smalldatetime karakter veri için çıktı önceki tabloaçıklanan biçimidir.
5 Hicri, birçok çeşitlemeyi ile bir takvim sistemidir.SQL ServerKuveyt algoritması kullanır.
Önemli |
---|
Varsayılan olarak, SQL Server 2049 kesme bir yıla dayanan iki basamaklı yılları yorumlaması.Yani, iki basamaklı yıl 49 2049 yorumlanır ve iki basamaklı yıl 50 1950 yorumlanır.Otomasyon nesneleri üzerinde tabanlı olanlar gibi birçok istemci uygulamaları bir kesme 2030 yılı kullanır.SQL Serversağlar two digit year cutofftarafından kullanılanyapılandırma seçeneği kesme yıl değiştirir SQL Server ve tutarlı alınmasına yönelik tarihleri.Dört basamaklı yıllar belirtme önerilir. |
6 Karakter veri vuran, yalnızca desteklenen datetime veya smalldatetime.Yalnızca tarih veya saat bileşenlerini temsil eden karakter verileri ne zaman atama için datetime veya smalldatetime veri türleri, belirsiz saat bileşeni küme 00:00:00.000 ve belirsiz tarih bileşeni küme 1900-01-01.
7xml eşleme daha kolay hale getirmek için kullanılan isteğe bağlı saat dilimi göstergesi, z, datetime için saat dilimi bilgilerini değerleri SQL Server datetime değerleri olan hiçbir saat dilimi.Z saat dilimi: utc-0 için göstergesidir.Diğer saat dilimlerindeki ss: dd uzaklığı ile gösterilen + veya - yön.Örneğin: 2006-12-12T23:45:12-08:00.
İçin karakter verileri dönüştürürken smalldatetime, saniye ve milisaniye içeren stilleri Göster sıfırları bu pozisyonları.Dan dönüştürdüğünüzde tarih istenmeyen bölümlerini kırpabilirsiniz datetime veya smalldatetime değerleri kullanarak uygun bir char veya varchar veri türü uzunluğu.
İçin dönüştürdüğünüzde datetimeoffset karakter verileri bir saat, bir saat dilimi içeren bir stili ile uzaklık değişkenindeki sonuç.
Kayan nokta ve gerçek stiller
Zaman expression olan float veya real, style aşağıdaki tablogösterilen değerlere biri olabilir.Diğer değerleri 0 işlenir.
Değer |
Output |
---|---|
0 (varsayılan) |
En çok 6 basamak.Bilimsel gösterimde, uygun olduğunda kullanın. |
1 |
Her zaman 8 basamak.Her zaman bilimsel biçimde kullanın. |
2 |
Her zaman 16 basamak.Her zaman bilimsel biçimde kullanın. |
126, 128, 129 |
Eski nedenleri için eklenen ve sonraki bir sürümde kullanım dışı. |
para ve smallmoney stiller
Zaman expression olan money veya smallmoney,style aşağıdaki tablogösterilen değerlere biri olabilir.Diğer değerleri 0 işlenir.
Değer |
Output |
---|---|
0 (varsayılan) |
Hiçbir virgül her üç basamak soluna ondalık noktası ve iki basamaklı; ondalık noktanın sağındaki Örneğin, 4235.98. |
1 |
Virgül her üç basamak soluna ondalık noktası ve iki basamaklı; ondalık noktanın sağındaki Örneğin, 3,510.92. |
2 |
Hiçbir virgül her üç basamak soluna ondalık noktası ve dört basamak; ondalık noktanın sağındaki Örneğin, 4235.9819. |
126 |
Stil char(n) veya varchar(n) dönüştürürken 2 eşdeğeri |
XML stiller
Zaman expression olan xml, style aşağıdaki tablogösterilen değerlere biri olabilir.Diğer değerleri 0 işlenir.
Değer |
Output |
---|---|
0 (varsayılan) |
Varsayılan ayrıştırma anlamsız beyaz boşluk atar ve bir iç dtd alt kümeiçin izin verme davranışını kullanın.
Not
İçin dönüştürdüğünüzde xml veri türü SQL Server anlamsız beyaz boşluk gerçekleştirilir farklı farklı xml 1. 0 '.Daha fazla bilgi için, bkz. xml örnekleri oluşturuluyor.
|
1 |
Anlamsız beyaz boşluk korumak.Bu stil ayarını varsayılan ayarlar XML: Space aynı şekilde davranır işleme gibi XML: Space "korumak" = yerine belirtilmedi. |
2 |
Sınırlı iç dtd alt küme işleme etkinleştirin. Etkinleştirilirse, sunucu doðrulamayan ayrıştırma işlemleri gerçekleştirmek için bir iç dtd alt küme içinde sağlanan aşağıdaki bilgileri kullanabilirsiniz.
Çözümleyici dış dtd alt kümelerine kýsayollar göz ardı eder.Görmek için xml bildirim da değerlendiremez mi standaloneöznitelik Evet veya hiçbir, ancak tek başına bir belge olarak, bunun yerine xml örnek ayrıştırır. |
3 |
Anlamsız beyaz boşluk korumak ve sınırlı iç dtd alt küme işleme etkinleştirin. |
İkili stilleri
Zaman expression olan binary(n), varbinary(n), char(n), veya varchar(n), style aşağıdaki tablogösterilen değerlere biri olabilir.tablo listelenmeyen stil değerleri bir hata döndürür.
Değer |
Output |
---|---|
0 (varsayılan) |
İkili veya ASCII karakter ikili bayt ASCII karakterlerine çevirir.Her karakter veya bayt 1: 1 dönüştürülür. data_type Bir ikili türü karakter 0 x eklenir solundaki sonucu. |
1, 2 |
data_type İkili bir tür ifade karakteri ifadeolmalıdır.expression Oluşan bir çift sayıda onaltılı basamak olmalıdır (0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ' a, b, c, d, e, f, a, b, c, d, e, f).style küme 1 0 karakterdir x ifadeilk iki karakter olması gerekir.ifade tek sayıda karakter içeriyorsa veya geçersiz karakterler bir hata ortaya çıkar. Dönüştürülmüş ifade uzunluğunu uzunluğundan büyükse data_type sonucu sağ kesilecek. Uzunluğu sabit data_types sonra da dönüştürülmüş sonuç sıfır eklendi sağındaki vardır daha büyüksonuç. Data_type karakter türü ise, ifade ikili bir ifadeolmalıdır.İkili her karakterin iki onaltılık karakterlere dönüştürülür.Dönüştürülmüş ifade uzunluğunu büyüktür: data_type uzunluğu sağ fazlalıkları. data_type Bir boyutta düzeltme karakter türü ve dönüştürülmüş sonuç uzunluğunu, uzunluğu küçüktür data_type; boşluk, çift sayıda onaltılı basamaktan korumak için sağında dönüştürülmüş ifade eklenir. 0 X eklenen dönüştürülmüş sonuç için solundaki karakter style 1. |
Örtük dönüştürmeler
Örtük dönüştürmeler cast veya convert işlevbelirtmeden oluşan bu dönüşümler şunlardır.Açıkça dönüştürmeler belirtilecek cast veya convert işlev gerektiren bu Dönüşümleri ' dir.İçin izin verilen tüm açık ve örtülü veri türü dönüştürmeleri aşağıda gösterilmiştir SQL Server sistem tarafından sağlanan veri türleri.These include xml, bigint, and sql_variant.Atamada örtük dönüştürme sql_variant veri türüne örtük dönüştürme ancak sql_variant.
Arasında dönüştürürken datetimeoffset ve karakter türleri char, varchar, nchar, ve nvarchar Dönüştürülen saat dilimi mahsup bölümü çift basamak ss ve mm için uymanız gereken örnek, - 08:00.
Not
Unicode verilerini her zaman çift sayıda bayt kullandığından, dönüştürdüğünüzde dikkatli binary veya varbinary için veya Unicode desteklenen veri türleri.Örneğin, aşağıdaki dönüştürme 41 onaltılık değeri döndürmez; 4100 geri döndürür: SELECT CAST(CAST(0x41 AS nvarchar) AS varbinary).
Büyük değer veri türleri
Büyük değer veri türleri davranışlar aynı örtülü ve açık dönüştürme küçük dekiler gibi özellikle varchar, nvarchar ve varbinary veri türü.Ancak, aşağıdaki yönergeleri dikkate almanız gerekir:
Dönüştürme işlemi image için varbinary(max) ve tam tersi bir örtük dönüştürme ve böylece arasındaki dönüştürmelerin text ve varchar(max), ve ntext ve nvarchar(max).
Büyük değer veri dönüştürme türleri, gibi varchar(max), çok daha küçük bir karşılık gelen veri türü, gibi varchar, bir kapalı dönüştürme olduğunu ancak kesilme oluşur, büyük değerdir çok büyük belirtilen süre boyunca küçük veri türü.
Dönüştürme işlemi varchar, nvarchar, veya varbinary kendi karşılık gelen büyük değer veri türleri örtülü olarak gerçekleştirilir.
Dönüştürme işlemi sql_variant büyük değer veri türleri için veri türü olan açık bir dönüştürme.
İçin büyük değer veri türleri dönüştürülemez sql_variant veri türü.
Dönüştürme hakkında bilgi için Microsoft .NET Framework ortak dil çalışma zamanı (clr) kullanıcı tanımlı türler, bkz: Kullanıcı tanımlı türler üzerinde işlemleri gerçekleştirme.Dan dönüştürme hakkında daha fazla bilgi için xml veri türü, bkz: xml örnekleri oluşturuluyor.
XML veri türü
Ne zaman açıkça veya örtük olarak artığını xml veri türü bir dize veya ikili veri türü, içeriği, xml veri türü seri esas alan bir küme , kurallar.Bu kurallar hakkında daha fazla bilgi için bkz: xml verilerinin seri hale getirme.XML'den bir CLR kullanıcı tanımlı türüatama hakkında daha fazla bilgi için bkz: Kullanıcı tanımlı türler üzerinde işlemleri gerçekleştirme.Diğer veri türleri arasında dönüştürme hakkında bilgi için xml veri türü, bkz: xml örnekleri oluşturuluyor.
metin ve resim veri türleri
Otomatik veri türü dönüştürme desteklenmez text ve image veri türü.Açıkça dönüştürebilirsiniz text karakter verileri, veri ve image verileri binary veya varbinary, ancak en fazla uzunluk 8000 bayt.Harfleri içeren bir karakter ifade dönüştürülmeye çalışılıyor gibi yanlış bir dönüştürme çalışırsanız bir int, SQL Server işlevi bir hata iletisi.
Çıkış harmanlama
cast veya convert çıktısını bir karakter dizeve Giriş bir karakter dizeise, çıkış aynı harmanlama ve harmanlama etiket giriş olarak bulunur.Giriş bir karakter dizeise, çıkış veritabanının varsayılan harmanlama ve coercible varsayılan harmanlama etiket vardır.Daha fazla bilgi için, bkz. Harmanlama önceliği (Transact-SQL).
Çıkışı başka bir harmanlama atamak, collate yan tümce sonucu ifade cast veya convert işlevuygulanır.Örneğin:
SELECT CAST('abc' AS varchar(5)) COLLATE French_CS_AS
Kesiliyor ve sonuçları yuvarlama
Karakter veya ikili ifadeleri dönüştürürken (char, nchar, nvarchar, varchar, binary, veya varbinary) bir ifade farklı veri türü, veri, yalnızca kısmen görüntülenen kesilebilir ya da sonucu görüntü. için çok kısa olduğu için hata verirDönüştürmeleri için char, varchar, nchar, nvarchar, binary, ve varbinary aşağıdaki tablogösterilen dönüşümleri haricinde kesiliyor.
Veri türünden |
Veri türü için |
Sonuç |
---|---|---|
int, smallint veya tinyint |
char |
* |
|
varchar |
* |
|
nchar |
E |
|
nvarchar |
E |
money, smallmoney, numeric, decimal, float, or real |
char |
E |
|
varchar |
E |
|
nchar |
E |
|
nvarchar |
E |
* = Uzunluk sonucu göstermek için çok kısa.E = sonuç göstermek için çok kısa olduğundan döndürülen hata.
SQL Servertek gidiş dönüş dönüştürme, özgün veri türünden veri türü dönüştürme ve yeniden geri dönüşümleri aynı değerleri sürüm sürümvermesine olduğunu garanti eder.Böyle bir gidiş dönüş dönüştürme aşağıdaki örnekte gösterilmiştir:
DECLARE @myval decimal (5, 2)
SET @myval = 193.57
SELECT CAST(CAST(@myval AS varbinary(20)) AS decimal(10,5))
-- Or, using CONVERT
SELECT CONVERT(decimal(10,5), CONVERT(varbinary(20), @myval))
Not
Oluşturmak çalışmayın binary değerler ve ardından dönüştürme bunları bir veri türü sayısal veri türü kategori.SQL Serversonucu garantilemez bir decimal veya numeric veri türü dönüştürme binary olacak sürümleri arasında aynı SQL Server.
Görüntülemek için çok küçük bir sonuç ifade aşağıdaki örnekte gösterilmektedir.
USE AdventureWorks2008R2;
GO
SELECT p.FirstName, p.LastName, SUBSTRING(p.Title, 1, 25) AS Title, CAST(e.SickLeaveHours AS char(1)) AS 'Sick Leave'
FROM HumanResources.Employee e
JOIN Person.Person p ON e.BusinessEntityID = p.BusinessEntityID
WHERE NOT e.BusinessEntityID >5;
Sonuç kümesi buradadır.
FirstName LastName Title Sick Leave
--------- ------------- ---------- -----------
Ken Sanchez NULL *
Terri Duffy NULL *
Roberto Tamburello NULL *
Rob Walters NULL *
Gail Erickson Ms. *
(5 row(s) affected)
Ondalık basamakların farklı veri türleri dönüştürdüğünüzde, bazen sonuç değerine kesilir ve diğer zamanlarda yuvarlanır.Aşağıdaki tablo davranışı gösterir.
Dan |
Amacı |
Davranış |
---|---|---|
numeric |
numeric |
Round |
numeric |
int |
Kes |
numeric |
money |
Round |
money |
int |
Round |
money |
numeric |
Round |
float |
int |
Kes |
float |
numeric |
Round |
float |
datetime |
Round |
datetime |
int |
Round |
Örneğin, aşağıdaki dönüştürme sonucu olan 10:
SELECT CAST(10.6496 AS int)
hedef veri türü kaynak veri türü daha az sayıda ondalık basamak olan veri türleri dönüştürdüğünüzde, değer yuvarlanır.Örneğin, aşağıdaki dönüştürme sonucu olan $10.3497:
SELECT CAST(10.3496847 AS money)
SQL Serversayısal çalışırken hata iletisi döndüren char, nchar, varchar, veya nvarchar veri dönüştürülür int, float, numeric, veya decimal.SQL ServerAyrıca boş bir dize , bir hata verir (" ") dönüştürülür numeric veya decimal.
SQL Server 2005 ve sonraki sürümlerinde Nondeterministic belirli datetime dönüşümlerini misiniz
De SQL Server 2000, tarih ve saat dönüşümleri dize işaretlenir olarak deterministic.Ancak, bu stiller için aşağıdaki tablolistelenen doğru değil.Bu stilleri için dönüşümleri dil ayarlarına bağlıdır.SQL Server 2005ve sonraki sürümlerinde bu dönüşümleri belirleyici olarak işaretler.
Aşağıdaki tablo stilleri için listeler dize-için-datetime dönüştürme belirleyici değildir.
100 Altındaki tüm stilleri1 |
106 |
107 |
109 |
113 |
130 |
1 20 Ve 21 stilleri dışında
Örnekler
A.Her ikisi de kullanarak ARTIĞINI ve convert
Her örnek olan bu ürünler için ürün adını alır bir 3 ilk rakam, bunların fiyat listesi ve dönüştürür, kendi ListPrice için int.
-- Use CAST
USE AdventureWorks2008R2;
GO
SELECT SUBSTRING(Name, 1, 30) AS ProductName, ListPrice
FROM Production.Product
WHERE CAST(ListPrice AS int) LIKE '3%';
GO
-- Use CONVERT.
USE AdventureWorks2008R2;
GO
SELECT SUBSTRING(Name, 1, 30) AS ProductName, ListPrice
FROM Production.Product
WHERE CONVERT(int, ListPrice) LIKE '3%';
GO
B.Aritmetik işleçler ile cast kullanma
Aşağıdaki örnek tek sütun hesaplama hesaplar (Computed) tarafından toplam yıl bölme-için-tarih satış (SalesYTD) komisyon yüzdesi olarak (CommissionPCT).Bu sonuç dönüştürülür bir int veri türü sonra yuvarlak en yakın tam sayıya.
USE AdventureWorks2008R2;
GO
SELECT CAST(ROUND(SalesYTD/CommissionPCT, 0) AS int) AS 'Computed'
FROM Sales.SalesPerson
WHERE CommissionPCT != 0;
GO
Sonuç kümesi buradadır.
Computed
------
379753754
346698349
257144242
176493899
281101272
0
301872549
212623750
298948202
250784119
239246890
101664220
124511336
97688107
(14 row(s) affected)
C.Art arda bağlamak için cast kullanma
Aşağıdaki örnek noncharacter, süreklilik ifadeler kullanarak birleştirir CAST.
USE AdventureWorks2008R2;
GO
SELECT 'The list price is ' + CAST(ListPrice AS varchar(12)) AS ListPrice
FROM Production.Product
WHERE ListPrice BETWEEN 350.00 AND 400.00;
GO
Sonuç kümesi buradadır.
ListPrice
------------------
The list price is 357.06
The list price is 364.09
The list price is 364.09
The list price is 364.09
The list price is 364.09
(5 row(s) affected)
D.Daha okunabilir metni üretmek için cast kullanma
Aşağıdaki örnek CAST dönüştürmek için seçin listesinde Name sütun için bir char(10) sütun.
USE AdventureWorks2008R2;
GO
SELECT DISTINCT CAST(p.Name AS char(10)) AS Name, s.UnitPrice
FROM Sales.SalesOrderDetail s JOIN Production.Product p on s.ProductID = p.ProductID
WHERE Name LIKE 'Long-Sleeve Logo Jersey, M';
GO
Sonuç kümesi buradadır.
Name UnitPrice
---------- ---------------------
Long-Sleev 31.2437
Long-Sleev 32.4935
Long-Sleev 49.99
(3 row(s) affected)
E.LIKE yan tümcetümcesinin cast kullanma
Aşağıdaki örnek dönüştürür moneysütun SalesYTD için bir int ve sonra bir char(20), BT ile kullanılacak şekildesütun LIKEyan tümce.
USE AdventureWorks2008R2;
GO
SELECT p.FirstName, p.LastName, s.SalesYTD, s.BusinessEntityID
FROM Person.Person p JOIN Sales.SalesPerson s ON p.BusinessEntityID = s.BusinessEntityID
WHERE CAST(CAST(s.SalesYTD AS int) AS char(20)) LIKE '2%';
GO
Sonuç kümesi buradadır.
FirstName LastName SalesYTD SalesPersonID
---------------- ------------------- ---------------- -------------
Tsvi Reiter 2811012.7151 279
Syed Abbas 219088.8836 288
Rachel Valdez 2241204.0424 289
(3 row(s) affected)
F.Dönüştür'Ü kullanarak veya yazılı xml ile cast
Kullanarak yazılı xml biçimine dönüştürmek için convert kullanarak Göster birkaç örnekleri aşağıda xml veri türü.
Bu örnek, bir dize boşluk, metin ve biçimlendirme ile yazılan XML'e dönüþtürür ve tüm anlamsız beyaz boşluk (sınır boşluk düğümler arasında) kaldırır:
CONVERT(XML, '<root><child/></root>')
Bu örnek, benzer dize boşluk, metin ve biçimlendirme ile yazılan XML'e dönüþtürür ve anlamsız beyaz boşluk (sınır boşluk düğümler arasında) korur:
CONVERT(XML, '<root> <child/> </root>', 1)
Bu örnek dize boşluk, metin ve biçimlendirme ile yazılan xml çevirir:
CAST('<Name><FName>Carol</FName><LName>Elliot</LName></Name>' AS XML)
Daha fazla örnek için, bkz. xml örnekleri oluşturuluyor.
G.cast kullanma ve datetime veri dönüştürme
Aşağıdaki örnek geçerli tarih ve saatgörüntüler, kullandığı CAST Geçerli tarih ve saat bir karakter veri türünü ve sonra kullanır değiştirme CONVERT tarih ve saat görüntüleme ISO 8901 biçimi.
SELECT
GETDATE() AS UnconvertedDateTime,
CAST(GETDATE() AS nvarchar(30)) AS UsingCast,
CONVERT(nvarchar(30), GETDATE(), 126) AS UsingConvertTo_ISO8601 ;
GO
Sonuç kümesi buradadır.
UnconvertedDateTime UsingCast UsingConvertTo_ISO8601
----------------------- ------------------------------ ------------------------------
2006-04-18 09:58:04.570 Apr 18 2006 9:58AM 2006-04-18T09:58:04.570
(1 row(s) affected)
Aşağıdaki örnek yaklaşık önceki örnekte tersidir.Örnek kullanımlar karakter verisi olarak bir tarih ve saat görüntüler CAST karakter verileri değiştirmek için datetime veri türü ve sonra kullandığı CONVERT karakter verileri değiştirmek için datetime veri türü.
SELECT
'2006-04-25T15:50:59.997' AS UnconvertedText,
CAST('2006-04-25T15:50:59.997' AS datetime) AS UsingCast,
CONVERT(datetime, '2006-04-25T15:50:59.997', 126) AS UsingConvertFrom_ISO8601 ;
GO
Sonuç kümesi buradadır.
UnconvertedText UsingCast UsingConvertFrom_ISO8601
----------------------- ----------------------- ------------------------
2006-04-25T15:50:59.997 2006-04-25 15:50:59.997 2006-04-25 15:50:59.997
(1 row(s) affected)
H.Kullanarak karakter ve ikili veri dönüştürme
Aşağıdaki örnekler, farklı stilleri kullanarak karakter ve ikili veri dönüştürme sonuçlar gösterir.
--Convert the binary value 0x4E616d65 to a character value.
SELECT CONVERT(char(8), 0x4E616d65, 0) AS 'Style 0, binary to character'
Sonuç kümesi buradadır.
Style 0, binary to character
----------------------------
Name
(1 row(s) affected)
--The following example shows how Style 1 can force the result
--to be truncated. The truncation is caused by
--including the characters 0x in the result.
SELECT CONVERT(char(8), 0x4E616d65, 1) AS 'Style 1, binary to character'
Sonuç kümesi buradadır.
Style 1, binary to character
------------------------------
0x4E616D
(1 row(s) affected)
--The following example shows that Style 2 does not truncate the
--result because the characters 0x are not included in
--the result.
SELECT CONVERT(char(8), 0x4E616d65, 2) AS 'Style 2, binary to character'
Sonuç kümesi buradadır.
Style 2, binary to character
------------------------------
4E616D65
(1 row(s) affected)
--Convert the character value 'Name' to a binary value.
SELECT CONVERT(binary(8), 'Name', 0) AS 'Style 0, character to binary'
Sonuç kümesi buradadır.
Style 0, character to binary
----------------------------------
0x4E616D6500000000
(1 row(s) affected)
SELECT CONVERT(binary(4), '0x4E616D65', 1) AS 'Style 1, character to binary'
Sonuç kümesi buradadır.
Style 1, character to binary
----------------------------------
0x4E616D65
(1 row(s) affected)
SELECT CONVERT(binary(4), '4E616D65', 2) AS 'Style 2, character to binary'
Sonuç kümesi buradadır.
Style 2, character to binary
----------------------------------
0x4E616D65
(1 row(s) affected)