zoukankan      html  css  js  c++  java
  • sql 获取 一列的值显示一行

    sql 获取 一列的值显示一行 

    create table tb(col varchar(20)) insert tb values ('a') insert tb values ('b') insert tb values ('c') insert tb values ('d') insert tb values ('e') go select * from tb --方法一 declare @sql varchar(1000) set @sql = '' select @sql = @sql + t.col + ',' from (select col from tb) as t set @sql='select result = ''' + left(@sql , len(@sql) - 1) + '''' exec(@sql) /* result     ---------- a,b,c,d,e, */

    --方法二 declare @output varchar(8000) select @output = coalesce(@output + ',' , '') + col from tb    --特别提醒:sql server 中 NUll和字符的"+"操作.结果仍然是NULL print @output /* a,b,c,d,e */

    drop table tb

    COALESCE (Transact-SQL) 返回其参数中第一个非空表达式。 返回数据类型优先级最高的 expression 的数据类型。如果所有表达式都不可为 Null,则结果的类型也不可为 Null。 如果所有参数均为 NULL,则 COALESCE 返回 NULL。 COALESCE(expression1,...n) 的功能与以下 CASE 表达式相同:

    CASE

       WHEN (expression1 IS NOT NULL) THEN expression1

       WHEN (expression2 IS NOT NULL) THEN expression2

       ...

       ELSE expressionN

    END

    尽管 ISNULL 等同于 COALESCE,但它们的行为是不同的。包含具有非空参数的 ISNULL 的表达式将视为 NOT NULL,而包含具有非空参数的 COALESCE 的表达式将视为 NULL。在 SQL Server 中,若要对包含具有非空参数的 COALESCE 的表达式创建索引,可以使用 PERSISTED 列属性将计算列持久化,如以下语句所示:

    复制

    CREATE TABLE #CheckSumTest     (         ID int identity ,         Num int DEFAULT ( RAND() * 100 ) ,         RowCheckSum AS COALESCE( CHECKSUM( id , num ) , 0 ) PERSISTED PRIMARY KEY     );

  • 相关阅读:
    DOM增删改替换
    DRF框架之序列化器serializers组件详解
    DRF基础操作流程
    DRF框架基础知识储备
    selectors模块
    并发编程——IO模型详解
    高性能web服务器——nginx
    Django中的ORM如何通过数据库中的表格信息自动化生成Model 模型类?
    使用cors完成跨域请求处理
    Flask基础
  • 原文地址:https://www.cnblogs.com/suizhikuo/p/2321915.html
Copyright © 2011-2022 走看看