22,207
社区成员
发帖
与我相关
我的任务
分享
id remark1 remrk2 remark3
001 附注红色
001 附注蓝色 附注绿色
001 附注蓝色 附注绿色
001 附注蓝色 附注绿色 附注红色
----------------------------------------------------------------
-- Author :DBA_HuangZJ(發糞塗牆)
-- Date :2014-07-01 11:31:02
-- Version:
-- Microsoft SQL Server 2012 - 11.0.5058.0 (X64)
-- May 14 2014 18:34:29
-- Copyright (c) Microsoft Corporation
-- Enterprise Edition: Core-based Licensing (64-bit) on Windows NT 6.3 <X64> (Build 9600: ) (Hypervisor)
--
----------------------------------------------------------------
--> 测试数据:[huang]
if object_id('[huang]') is not null drop table [huang]
go
create table [huang]([id] varchar(3),[remark1] varchar(8),[remrk2] varchar(8),[remark3] varchar(8))
insert [huang]
select '001','附注红色',null,null union all
select '001','附注蓝色','附注绿色',null union all
select '001','附注蓝色','附注绿色',null union all
select '001','附注蓝色','附注绿色','附注红色'
--------------开始查询--------------------------
select *
from [huang]
ORDER BY DATALENGTH(ISNULL([remark1],'')+ISNULL([remrk2],'')+ISNULL([remark3],'')) DESC
----------------结果----------------------------
/*
id remark1 remrk2 remark3
---- -------- -------- --------
001 附注蓝色 附注绿色 附注红色
001 附注蓝色 附注绿色 NULL
001 附注蓝色 附注绿色 NULL
001 附注红色 NULL NULL
*/