'in neyin en iyi json dize depolamak için veri türü SQL?
En iyi SQL, json dize depolamak için veri türü nedir?
static List<ProductModel> CreateProductList()
{
string json =
@"[
{
ProductId: 1,
ProductCode: 'A',
Product: 'A'
},
{
ProductId: 2,
ProductCode: 'B',
Product: 'B'
}
]";
IList<JToken> tokenList = JToken.Parse(json).ToList();
List<ProductModel> productList = new List<ProductModel>();
foreach (JToken token in tokenList)
{
productList.Add(JsonConvert.DeserializeObject<ProductModel>(token.ToString()));
}
return productList;
}
SQL veri türü gibi bir json dize içeren saklamak için kullanıyoruz??
- 2**?
- 3**?
VARBINARY(MAX)
?
CEVAP
KesinlikleDEĞİL:
TEXT, NTEXT
: o türleridirkaldırılmışSQL Server 2005 ve yeni bir kalkınma için kullanılmamalıdır.VARCHAR(MAX)
NVARCHAR(MAX)
kullanınIMAGE
,VARBINARY(MAX)
:IMAGE
TEXT/NTEXT
gibi önerilmiyor ve ikili bir sütuna bir metin dizesi saklamak gerçekten anlamı yok....
Böylece temelde yaprak VARCHAR(x)
NVARCHAR(x)
: VARCHAR
mağaza Unicode olmayan dizeleri (1 bayt başına karakter) ve NVARCHAR
depolar her bir 2 bayt başına karakter Unicode modu. Bu yüzden Unicode ihtiyacınız var mı? Sizin dizeleri Arapça, İbranice veya olmayan Batı Avrupa diğer Çince karakterler, potansiyel var mı? Sonra NVARCHAR
ile git
(N)VARCHAR
sütun gel iki çeşittir: ya sizin belirlediğiniz bir maksimum uzunluğu sonuçları 8000 bayt veya daha az (VARCHAR
8000 karakter NVARCHAR
4000), veya eğer bu yeterli değil, kullanım (N)VARCHAR(MAX)
sürümlerinde, hangi mağaza en fazla 2 Gb veri.
Güncelleme:SQL Server2016olacak native JSON desteği - Yeni JSON
türü (temel nvarchar
) tanıttı olarak FOR JSON
dönüştür komutu çıktısı bir sorgu içine JSON format
Vs Görüntü SQL Veri Türü İkili Veri De...
Veri ({} yazın arayüzü) dönüştürmek iç...
Nasıl tarih sadece SQL Server datetime...
Nasıl terminalden Curl ile JSON veri g...
Hangi MySQL boolean değerleri saklamak...