SQL Server 中的case when then else 中的结果类型
--case后面是条件when后面是条件为什么,then后面结果,最后显示的是结果那一列,如
select
case id when '3' then 'one' ELSE id end
from @T
并且一定要有 end 或者是else 什么 end
declare @T Table (id char(10))
insert into @T select '1'
insert into @T select '2'
insert into @T select '3'
select * from @T
--@T为表变量
----开始测试
--select
-- case id
-- when '3' then cast('' as char(10))
-- else id
-- end as Id,
-- SQL_VARIANT_PROPERTY((case id
-- when '3' then cast('' as char(10))
-- else id
-- end ),'BaseType') as CaseResultType,
-- case id when '3' then DataLength(cast('' as char(10))) else DataLength(id) end as IDDataLength
--from @T
----显示指定结果为char类型,长度为10,可以看到case后的result类型为char,没有变化。
--select
-- case id
-- when '3' then '' else id end as ID,
-- SQL_VARIANT_PROPERTY((case id when '3' then '' else id end),'BaseType') as CaseResultType,
-- case id when '3' then DataLength('') else DataLength(id) end as IDDataLength
--from @T
----不显示指定类型,那么'' 为varchar型,case的result类型优先级varchar由于char,结果显示result类型为varchar
select
case id
when '3' then 4 else id end as ID,
SQL_VARIANT_PROPERTY((case id when '3' then 4 else id end),'BaseType') as CaseResultType,
case id when '3' then DataLength(4) else DataLength(id) end as IDDataLength
from @T
--显示的结果可以看出,case的result类型为int型,但存储大小不全为4
代码可以直接运行,在sql server 2005 express版里面
转载于:https://www.cnblogs.com/chenwancoco/archive/2011/10/12/2208169.html
SQL Server 中的case when then else 中的结果类型相关推荐
- SQL Server 2008 R2——ROW_NUMBER() 去掉不同行中相同列的重复内容
原文:SQL Server 2008 R2--ROW_NUMBER() 去掉不同行中相同列的重复内容 ==================================声明============= ...
- 使用SQL Server 2017 Docker容器在.NET Core中进行本地Web API开发
目录 介绍 先决条件 最好事先知道 假设 动机 跨平台 快速安装 经济有效 不同版本/多个实例 速度 持久性 找到SQL Server 2017镜像并在本地下载它 在没有卷挂载的情况下在本地执行SQ ...
- windows7安装sql server 2000安装步骤 及安装过程中遇到的问题和解决方式
提示:文章写完后windows7安装sql server 2000安装步骤 及安装过程中遇到的问题和解决方式, 文章目录 一.ms sql server 2000是什么? 版本简介: **特点:** ...
- SQL Server查询某个字段存在哪些表中
一.查询SQL Server中所有的表 SQL语句:SELECT * FROM sys.tables name列表示所有的表名. 二.查询SQL Server中所有的列 SQL语句:SELECT * ...
- SQL Server 将在下一个版本实现内存中运行
From:Microsoft adding in-memory capabilities to SQL Server 在本周召开的SQL Server专业组织峰会上,微软宣布,将在下一个SQL Ser ...
- SQL Server系统视图/表/功能。 现实生活中的常见问题和解决方案
介绍 (Introduction) In this new article, we will talk about the system views/tables/functions and how ...
- SQL Server 2014 许可证(六)虚拟化中的授权
一.虚拟化涉及的架构 硬件方面的结构如下: 注意:在禁用超线程时,硬件线程(hardware thread)等于"物理核"的数量:启用超线程时,硬件线程等于2倍的物理核的数量. 虚 ...
- SQL Server 2005 - 如何在预存程序中调用另外一个预存程序
要在一个预存程序中调用另外一个预存程序,可以使用下列两种方式之一进行调用: <?xml:namespace prefix = o /> EXECUTE <欲执行之预存程序的名称&g ...
- Visual C# 2008+SQL Server 2005 数据库与网络开发――3.2.4 匿名类型
C# 2008中新增的第四个特性是--匿名类型.匿名类型是允许动态创建可以添加到集合中,并且可以使用关键字"var"行访问的未命名结构化类型.这种类型提供了一种用来将一组只读属性封 ...
最新文章
- 轻松一下,看看vs.net2002变态的智能提示,不知道算不算bug
- Vue用Cordova打包后的app自升级功能实现
- Request.Form的用法
- SAP UI5 应用开发教程之五十五 - 如何将本地 SAP UI5 应用通过 Node.js Express 部署到公网上
- 哪里是我们最好的避风港?
- JavaScript 第十章总结:first class functions
- java websocket原理_Java WebSocket基本原理
- linux 用户设密码,linux 上添加用户,设置密码
- Python+Selenium开发工具安装及下载
- image 搜索docker_docker images命令-列出image
- arnold官方帮助文档_Python用不好英语水平不够?这里有官方中文文档你看不看
- 模型推理速度与硬件算力
- 中石油 所罗门的宝藏
- 嵌入式培训课程哪里好?嵌入式开发学习路线
- c# NPOI按模板导出
- unity3d shader之God Ray上帝之光
- jquery事件绑定的问题Uncaught TypeError: $(...).live is not a function at HTMLDocument.<anonymous> (ex5_
- 安卓点击图片跳转界面_详解拳头注册 + 安卓LOL试玩教程
- 如何编写高质量的易语言代码?
- Go调用Python by go-python3