sql case when then else end sql_variant
/******************************************************************************
** Name: usp_cfg_GetFileByObjectIDAndType
** Desc: 根据objectID和type获取附件
**
**
** Return Values:
**
** Parameters:
** Auth:
** Date:2008-10-28
*******************************************************************************/
ALTER proc [dbo].[usp_cfg_GetFileByObjectIDAndType]
@ObjectID uniqueidentifier = 'E993BEFC-040F-47C4-BEB4-3782145341FA',
@Type varchar(500) = null
as
begin
SET NOCOUNT ON; select IsNull(Title,'') +
IsNull(Name,'') +
IsNull(Description,'') +
IsNull(KeyWord,'') __Keyword, NameSortExpression = --特殊处理,为部务会议排序使用(按名称中的日期排序)
case when @ObjectID = '0BE5DF9E-02B0-44B8-BB0C-9633E26C888D' and isdate(replace(replace([name],'部务会备忘',''),'.doc',''))=1 then cast(replace(replace([name],'部务会备忘',''),'.doc','') as datetime)
when @ObjectID = '0BE5DF9E-02B0-44B8-BB0C-9633E26C888D' and isdate(replace(replace([name],'部务会备忘',''),'.doc',''))=0 then cast('1900-1-1' as datetime)
else UploadTime
end,
[FileID] ,
[ObjectID] ,
[Title] ,
[Name] ,
[Description] ,
[KeyWord] ,
[ContentType] ,
--[Content] [image] NULL,
[ContentLen] ,
[Uploador] ,
[UploadTime] ,
[Status] ,
[type] ,
[Ranking],
null as Content from tbl_cfg_file
where objectid = @ObjectID
and (
charindex( cast(dbo.ufn_IsNullOrEmpty(@Type,Type) as varchar(8000)),cast(Type as varchar(500))) > 0
or (dbo.ufn_IsNullOrEmpty(@Type,'') = dbo.ufn_IsNullOrEmpty(Type,''))
)
end set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
/******************************************************************************
** Name: ufn_IsNullOrEmpty
** Desc: 同时判断null和空字符
**
**
** Return Values:null或空时,返回指定字符串,否则,返回自己
**
** Parameters:
** Auth:
** Date: 2006-11-3
*******************************************************************************/
ALTER function ufn_IsNullOrEmpty(@expression sql_variant, @Replace sql_variant)
returns sql_variant
as
begin
if( @expression = '' or @expression is null)
return @Replace
return @expression
end
sql_variant 这是一个不起眼,也用得不多的数据类型,但在某些场合下,可能很有用
一种数据类型,用于存储 SQL Server 2005 支持的各种数据类型(不包括 text、ntext、image、timestamp 和 sql_variant)的值。
换而言之,这个类型很容易让我们联想到VB编程中的variant类型,或者C#里面的object类型。它可以存放很多种格式。例如一个sql_variant列既可以存放数字,也可以存放文本。
当然,正因为这样的特性,它们在读取的时候必须进过一些转换,否则是不知道什么类型的。而且这种转换会有风险,这也就是所谓的类型不安全。
这种类型在使用上还有另外一些限制,请确认在使用之前对其进行必要的了解
一点都不意外,这个类型如果通过ORM框架(例如LINQ TO SQL)映射到客户程序中,会是一个object类型
sql case when then else end sql_variant的更多相关文章
- SQL case when 的使用总结
在网上看到一篇关于case when语句的博客,写得很好,我这里是摘录的,还有我的一些体会,原博客地址:SQL Case when 的使用方法. Case具有两种格式.简单Case函数和Case搜索函 ...
- sql case when 多条件小结
sql case when 多条件 小结 -- 第一种 格式 : 简单Case函数 : -- 格式说明 -- case 列名 -- when 条件值1 then 选择项1 -- when 条件值2 t ...
- SQL CASE语句的使用
SQL CASE语句的使用 CASE是一个控制流语句,其作用与IF-THEN-ELSE语句非常相似,可根据数据选择值. CASE语句遍历条件并在满足第一个条件时返回值. 因此,一旦条件成立,它将短路, ...
- SQL --- Case when 的使用方法
1. Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' E ...
- sql case 用法总结
快下班了,抽点时间总结一下sql 的 case 用法. sql 里的case的作用: 用于计算条件列表的表达式,并返回可能的结果之一.sql 的case 类型于编程语言里的 if-esle if-el ...
- sql case when then else end
我们都知道SQL中适用case when then来转化数据库中的信息 比如 select (case sex when 0 then '男' else '女' end) AS sex from st ...
- SQL Case when 的使用方法(转)
Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END ...
- sql case when 速记
Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END ...
- Sql case when用法
说明,sql中的if和else 是不能在select 语句中使用的.只能用来控制sql程序的流程.只能用case when. CREATE TABLE USER(NAME VARCHAR(20) NO ...
随机推荐
- smartcar 系列机器人学习笔记1
总体框架: 1,感知一个相机,一个雷达,一个odom(非必须:一个imu)功能:车道线检测,红绿灯检测,障碍物检测 2,决策规划 功能:一次规划,(避障即:二次规划) 3,控制执行 功能:速度控制,角 ...
- Docker Container同时启动多服务 supervisor
Docker Container同时启动多服务 转载请注明来自:http://blog.csdn.net/wsscy2004 昨天踩了个天坑,我有一个基本的镜像centos6.5+ssh,是通过Doc ...
- oracle 查询 函数练习2
/*以下代码是对emp表/dept表/salgrade表进行显示宽度设置 */col empno for 9999;col ename for a10;col job for a10;col mgr ...
- 为什么说Kindle难圆“中国梦”? 支撑Kindle模式成功的要素,在当下中国并不太具备
http://www.huxiu.com/article/12993/1.html 6月7日更新:Kindle入华终于尘埃落定,苏宁将在下午4点在北京30家店面同时销售,首批产品为Kindle Pap ...
- EMQ学习笔记---Clean Session和Retained Message
MQTT会话(Clean Session)MQTT客户端向服务器发起CONNECT请求时,可以通过’Clean Session’标志设置会话.‘Clean Session’设置为0,表示创建一个持久会 ...
- python selenium --frame
本节知识点: 多层框架或窗口的定位: switch_to_frame() switch_to_window() 智能等待: implicitly_wait() 对于一个现代的web应用,经常会出现框架 ...
- pandas drop_duplicates
函数 : DataFrame.drop_duplicates(subset=None, keep='first', inplace=False) 参数:这个drop_duplicate方法是对Data ...
- nginx-1.2.7+tcp_proxy_module负载均衡配置
对于安装方面不清楚的,可移步 nginx + tcp_proxy_module的安装 参考nginx_tcp_proxy_module的readme文件,对每个定义项都做了详细的描述,tcp{...} ...
- CentOS6.6+Puppet3.7.4分布式部署Nagios监控系统
测试框架 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 CentOS-6.6-x86_64(minimal) puppet-3.7 ...
- 理解x64代码模型
原作者:Eli Bendersky http://eli.thegreenplace.net/2012/01/03/understanding-the-x64-code-models 在编写x64架构 ...