Access 中case when then else end不支持使用switch代替

这里主要是实现一个表中多个字段,多个字段之间作比较然后取得最大值或者最小值用来处理

case when then else end 例子

<span style="font-family:Microsoft YaHei;font-size:14px;">selece f1,f2,(case when f1>f2 then f1 else f2 end) as a from table</span>

但是发现在access中不好使

接下来使用access支持的switch代替如下

<span style="font-family:Microsoft YaHei;font-size:14px;">select * from
(
    select topvalue,bottomvalue,leftvalue,rightvalue,
    switch
    (
        a > b,a,
        a <= b,b
    ) as result
    from
    (
        select topvalue,bottomvalue,leftvalue,rightvalue,
        switch
        (
            topvalue > bottomvalue,topvalue,
            topvalue <= bottomvalue,bottomvalue
        ) as a,
        switch
        (
            leftvalue > rightvalue,leftvalue,
            leftvalue <= rightvalue,rightvalue
        ) as b
        from imagehandle
    )
)
order by result desc
查询结果截图如下:
 <img src="http://img.blog.csdn.net/20150312110307552?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2hlbmhvbmd3dTY2Ng==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /></span>

在此记录一下,哈哈

时间: 2024-08-06 16:44:40

Access 中case when then else end不支持使用switch代替的相关文章

C# 将Access中时间段条件查询的数据添加到ListView中

C# 将Access中时间段条件查询的数据添加到ListView中 一.让ListView控件显示表头的方法 在窗体中添加ListView 空间,其属性中设置:View属性设置为:Detail,Columns集合中添加表头中的文字. 二.利用代码给ListView添加Item. 首先,ListView的Item属性包括Items和SubItems.必须先实例化一个ListIteView对象.具体如下: ListViewItem listViewItem=new ListViewItem(); l

Access中的SELECT @@IDENTITY

在Access数据库中存在select @@identity吗?答案是肯定的.但是Access一次只能执行一条SQL,多条SQL需要多次执行,这是限制.在SQL Server中,可以一次执行多条SQL语句.Access使用的是Jet-SQL,SQL Server使用的是T-SQL,两者用法上相差很大. 但是Access中可以连续执行N条语句,象下面这样:   cmd.CommandText = "INSERT INTO MyTable (N1,N2) VALUES (22,11)"; 

在access中如何创建数据库?你认为数据库在网站开发中所扮演的角色是什么?使用数据库和使用文件,两者的优缺点是是什么?

1.启动ACCESS建空数据库,给数据库取名"数据库名".2.建一个表,如果有excel数据可直接导入或在设计视图里面建表,如段名分别为:学号.姓名.性别.出生日期.家庭住址等.给表取名"表名".3.用数据表做数据源,建立需要的查询.一个简单的数据库就建成了.我认为数据库在网站开发中扮演者重要的角色,它掌管着大量的重要数据.它是网站开发的核心,也可以说它是一个默默无闻的工作者 数据库是用来存储数据的,其中分好多类,小型的有ACCESS,中型的有SQL SERVER,

(九)shell中case语句、程序传参、while

2.2.6.1.case语句(1)shell中的case语句和C语言中的switch case语句作用一样,格式有差异(2)shell中的case语句天生没有break,也不需要break,和C语言中的switch case不同.shell中的case默认就是匹配上哪个执行哪个,不会说执行完了还去执行后面的其他case(就好像shell中的case语言默认都带了break). 2.2.6.2.调用shell程序的传参(1)C语言中可以通过main函数的argc和argv给程序传参(详情参考<4.

sql server和access 中sql语句的区别(佚名)

对于日期字段字段access表示为:#1981-28-12#SQLSERVER2000表示为:‘‘1981-02-12‘‘2,SQL语句区别,select ,update 在对单表操作时都差不多,但多表操作时update语句的区别ACCESS与SQLSERVER中的Update语句对比:SQLSERVER中更新多表的Update语句:Update Tab1SET a.Name = b.NameFROM Tab1 a,Tab2 bWhere a.ID = b.ID;同样功能的SQL语句在ACCES

SQL集合函数中case when then 使用技巧

SQL集合函数中case when then 使用技巧 作者: 字体:[增加 减小] 类型:转载 我们都知道SQL中适用case when then来转化数据库中的信息 比如 select (case sex when 0 then '男' else '女' end) AS sex from studentInfo 那么在集合函数中它有什么用呢 ? 假设数据库有一张表名为student的表. 如果现在要你根据这张表,查出江西省男女个数,广东省男生个数,浙江省男女个数 怎么写SQL语句?即要生成下

mysql中 case when的使用

SELECT a.hsid, a.house_code, a.sale_date, a.pjid, COUNT( sdid ) AS num, b.hsid, b.pscid, b.hscode, b.hsarea1, b.hsrealarea1, b.hsusage, b.hsprice, b.hsstatus,sum(CASE WHEN b.hsrealarea1 >0THEN b.hsrealarea1ELSE b.hsarea1END)  as c , c.xzarea, c.lpmc,

mysql中case when 用于分类求和

假设有张学生成绩表(CJ)如下 [姓名] [学科] [成绩] 张三 语文 80 张三 数学 90 张三 物理 85 李四 语文 85 李四 数学 92 李四 物理 82 王五 数学 60 想变成 [姓名] [语文] [数学] [物理] 张三 80 90 85 李四 85 92 82 王五 null 60 null select 姓名,sum(case 学科 when '语文' then 成绩 end) as 语文,sum(case 学科 when '数学' then 成绩 end) as 数学,

ACCESS中类型操作(限制、转换)

ACCESS如何保留两位小数 1.可以通过修改表结构中字段的“小数位数”即可. 2.可以通过“更新查询”,将所有该字段的值更新为round(字段名,2) ACCESS如何转换类型 每个函数都可以强制将一个表达式转换成某种特定数据类型.语法CBool(expression)CByte(expression)CCur(expression)CDate(expression)CDbl(expression)CDec(expression)CInt(expression)CLng(expression)