Tuesday, September 20, 2005

 

String Truncation

The other day I was asked what happens when you provide a string that is too long to a table or stored procedure parameter. Rather than guess, that sounds like an easy thing to test.

create table atable (stringvar varchar(5))
go

insert into atable values ("too long")
go

select * from atable
go

stringvar
---------
too l


So it would appear as if the string is silently truncated. Step two is to double-check the behaviour in the documentation. This time we can verify this behaviour by looking at the Reference Manual Volume 1: Building Blocks, Chapter 1: System and User-Defined Datatypes (Character datatypes), which states:

"Entries shorter than the assigned length are blank-padded; entires longer than the assigned length are truncated without warning, unless the string_rtruncation option to the set command is set to on."

http://download.sybase.com/pdfdocs/asg1250e/refman1.pdf

Bear in mind that standard ANSI/ISO SQL/92 states that these values should NOT be silently truncated, it should reject the value! Once again this is a default setting that is for your convenience, but actually makes your database less ANSI-compliant. We've seen this once before with regards to the treatment of NULLs.

http://sybasease.blogspot.com/2005/05/nulls-in-sybase-ase.html

So let's try it with the setting where it should be. Remember this will only affect the current session.

set string_rtruncation on

insert into atable values ("too long")
go

Server Message: Number 9502, Severity 16
Server 'TEST_SYBASE', Line 1:
Data exception - string data right truncated

select * from atable
go

stringvar
---------
too l


By the way, reading a little further in the documentation reveals this interesting note:
"Fixed-length columns tend to take more storage space than variable-length columns, but are access somewhat faster."

Comments:
This comment has been removed by a blog administrator.
 
This comment has been removed by a blog administrator.
 
sybase online training| sybase training| call us+ ...
http://www.21cssindia.com/courses/sybase-online-training-159.html
ఈ పేజీని అనువదించు
sybase training,introduction to sybase,employee training, sybase online training e-learning,sybase tutorial,online course.
Course contents, biztalk admin enquiry, .Courses at 21st Century Software Solutions
Talend Online Training -Hyperion Online Training - IBM Unica Online Training -
Siteminder Online Training - SharePoint Online Training - Informatica Online Training
SalesForce Online Training - Many more… | Call Us +917386622889
Visit: http://www.21cssindia.com/courses.html
 
Sybase Online Training, ONLINE TRAINING – IT SUPPORT – CORPORATE TRAINING http://www.21cssindia.com/courses/sybase-online-training-159.html The 21st Century Software Solutions of India offers one of the Largest conglomerations of Software Training, If you’re serious about a career in IT, 21st Century would like to provide you a guidance don’t hesitate to organize a free demo session. For any further information regarding the courses once go through our website Visit: http://www.21cssindia.com | Call Us +917386622889 - +919000444287 - contact@21cssindia.com

 
dongtam
game mu
http://nhatroso.net/
http://nhatroso.com/
nhạc sàn
tư vấn luật
dịch vụ thành lập công ty trọn gói
công ty luật
tổng đài tư vấn pháp luật
thành lập công ty
http://we-cooking.com/
chém gió
trung tâm ngoại ngữchỉ là không nể tình, trái lại chính hung hăng địa phiến Lâm Gia một cái vang dội ba chưởng.

Lâm Gia tuy rằng phân rất nhiều phe phái, thế nhưng, tất cả Lâm Gia mọi người là trung thành với Lâm Gia, đều là giữ gìn Lâm Gia bộ mặt cùng với vinh dự một phần tử!"Là ai thật to gan, cũng dám tại ta Lâm Gia cửa xuất thủ!" Một cái lão giả uy nghiêm thanh âm vang lên.

Lúc này, toàn trường hầu như mọi người ánh mắt đều là không hẹn mà cùng mang theo vô hạn đồng tình nhìn phía kia huyền phù tại không trung vẻ mặt bình tĩnh hắc bào nam tử.

Kia lão giả cũng là theo quang cảnh mọi người ánh mắt, nhìn phía huyền phù tại không trung không có bất luận cái gì động tĩnh Tiêu Viêm, đương nhiên, thân là đương sự Tiêu Viêm cũng là cảm thụ được kia lão giả nhìn kỹ, thế nhưng như cũ là vẻ mặt không hề bận tâm. Đối với những ... này ánh mắt, Tiêu Viêm cũng sắc mặt bình tĩnh, kia lão giả rõ ràng là là Lâm Gia đại trưởng lão Lâm Phách nhất phái nhân, bởi vì hắn bị thương nặng Lâm Thực, sở dĩ, đó là nhìn hắn không vừa mắt, có này cử động đảo cũng không kỳ quái, về phần Lâm Thực, nguyên bản hắn là ôm phải

 
Post a Comment

<< Home

This page is powered by Blogger. Isn't yours?