8 Ocak 2010, Cuma
LEN SQL Server sonunda boşluk dahil değil işlevi
SQL Server 2005'te aşağıdaki test tablo var:
CREATE TABLE [dbo].[TestTable]
(
[ID] [int] NOT NULL,
[TestField] [varchar](100) NOT NULL
)
Doldurulur:
INSERT INTO TestTable (ID, TestField) VALUES (1, 'A value'); -- Len = 7
INSERT INTO TestTable (ID, TestField) VALUES (2, 'Another value '); -- Len = 13 6 spaces
SQL Server LEN ile TestField uzunluğunu bulmaya çalıştığımda() sonunda boşluk - örneğin sayılmaz fonksiyonu
-- Note: Also results the grid view of TestField do not show trailing spaces (SQL Server 2005).
SELECT
ID,
TestField,
LEN(TestField) As LenOfTestField, -- Does not include trailing spaces
FROM
TestTable
Ne kadar uzunlukta sonucu sonunda boşluk vardır?
CEVAP
8 Ocak 2010, Cuma
Bu açıkça LEN Birleşik Devletleri http://msdn.microsoft.com/en-us/library/ms190329(SQL.90).aspx MSDN Microsoft tarafından belgelenmiştir "belirtilen dize ifade, izleyen boşluklar dahil karakter sayısını" verir. Ancak, eğer dikkatli iseniz kaçırmamanız için kolay bir ayrıntıdır.
Yerine DATALENGTH işlevini kullanın - http://msdn.microsoft.com/en-us/library/ms173486(SQL.90).aspx - görmek gerekir "bayt herhangi bir ifade göstermek için kullanılan sayısını" verir.
Örnek:
SELECT
ID,
TestField,
LEN(TestField) As LenOfTestField, -- Does not include trailing spaces
DATALENGTH(TestField) As DataLengthOfTestField -- Shows the true length of data, including trailing spaces.
FROM
TestTable
Bunu Paylaş:
Nasıl " için SQL Server bir işlevi...
Sadece tarihe göre iki DATETİME SQL Se...
RVM değil işlevi, 'rvm kullanmak ...
SQL Server "SONRA EKLE" teti...
Neden't standart Python dahil PyP...