1. 程式人生 > >SQL中小技巧程式碼

SQL中小技巧程式碼

1.對於多個傳入欄位,同時只允許一個有值,返回非空欄位的編號

declare
  @vc_holder_name     varchar(255),
  @vc_officer_name    varchar(255),
  @vc_enterprise_name varchar(255),
  @vc_family_name     varchar(255),
  @vc_temp            varchar(255)

select
  @vc_holder_name    ='xx',    
  @vc_officer_name   ='',
  @vc_enterprise_name='',
  @vc_family_name    ='',
  @vc_temp           =''
  
if (len(left(@vc_holder_name,1))%2+len(left(@vc_officer_name,1))%2+len(left(@vc_enterprise_name,1))%2+len(left(@vc_family_name,1))%2)<>1
print '不能同時有值,也不能同時為空!'
else
begin
  select @vc_temp=convert(varchar,len(left(@vc_holder_name,1))%2)
    +convert(varchar,len(left(@vc_officer_name,1))%2)
    +convert(varchar,len(left(@vc_enterprise_name,1))%2)
    +convert(varchar,len(left(@vc_family_name,1))%2)
  print '非空欄位序號:'+convert(varchar,charindex('1',@vc_temp))
end