选择结果不完整?
问题描述:
我想运行此查询,但myfield不包含完整的电子邮件地址,姓氏,电话和电子邮件促销值?它看起来像myField的长度有限制?选择结果不完整?
SQL语句:
use adventureworks
go
select si.CustomerID,
'myField' =
CASE
When (Select Top 1 FirstName+ ' ' + MiddleName + ' '+ Phone + ' ' + EmailAddress +' '+ LastName + ' ' + Phone + ' ' + cast(EmailPromotion as varchar) From Person.Contact pc Where si.ContactID = pc.contactid) is not null Then
Cast((Select Top 1 FirstName+ ' ' + MiddleName + ' ' + Phone + ' ' +EmailAddress +' '+ LastName + ' ' + Phone + ' ' + cast(EmailPromotion as varchar) From Person.Contact pc Where si.ContactID = pc.contactid ) As varchar)
Else ''
END
from Sales.Individual si
where si.CustomerID=11000
答
对于varchar[(n)]
:
当在数据定义或变量声明 语句未指定n,则默认长度为1。当不与 CAST函数指定n,则默认长度为30
所以明确地在CAST
,例如指定一个适当长的长度varchar(256)
Ref。