case when遇到空串转成0

需要注意:如果字段为varchar类型,when后的条件要加上引号

SELECT (CASE 'marital_status' WHEN 0 THEN '已婚' WHEN 1 THEN '未婚' ELSE 'WEIZHI' END) AS marital_status  FROM tj_archive WHERE id='D1407280006'

用上面的语句,如果marital_status为空串(而不是null)时,竟然查询的结果为“已婚”

最后更改正确结果为:

SELECT (CASE ‘marital_status‘ WHEN ‘0‘ THEN ‘已婚‘ WHEN ‘1‘
THEN ‘未婚‘ ELSE ‘WEIZHI‘ END)AS marital_status FROM tj_archive WHERE id=‘D1407280006‘

红色部分为两句的不同。

case when遇到空串转成0

时间: 2024-07-30 08:07:10

case when遇到空串转成0的相关文章

数据库中将null 替换成 0 或者其他文本

Oracle:可以用nvl(p1,p2) 该函数,将p1替换成p2, 但是请注意:p1,p2必须是同类型的,可以是数值number ,char ,date 比如不能nvl('jack',5)这样用,一个是char一个是number了 简单明了:nvl(null,0) 就可以解决了. 这里要说明一下小tip:在oracle中 当组函数[又名聚合函数]要处理数据全是空的时候,除了count()函数返回的是0,其他组函数全部返回空值. 所以当我们处理聚合函数的时候,count()函数不用特殊考虑. S

给一个只包含 0, 1, * 的 String,将所有的* 替换成 0 或者 1, 返回所有的可能行

void GetAllString(int start, string & str, vector<string> & res) { if (start == str.size()) { res.push_back(str); } else { bool has = false; for (int i = start; i < str.size(); i++) { if (str[i] == '*') { str[i] = '1'; GetAllString(i + 1,

批量把pod实例调成0

#!/bin/bash namespace=`kubectl get ns|grep '^te-'|grep -v datamgr|awk '{print $1}'` #--------------------------- for i in $namespace do podname=`kubectl get deploy -n $i |awk 'NR>1{if ($2>0) print $1}'` for j in $podname do kubectl scale --replicas=

Nginx1.8.0 编译安装

1.准备安装包 下载最新稳定版nginx-1.8.0 http://nginx.org/en/download.html 2.安装环境准备          Centos 6.5(Final) yum-y install pcre-devel openssl-devel 3. 安装 (a) 解压然后编译 ./configure--prefix=/usr/local/nginx --conf-path=/etc/nginx/nginx.conf --user=nginx--group=nginx 

Android ListView A-Z侧边栏字母排序,点击处扭曲成半圆

最近在做通讯录看到360通讯录和索尼系统内置通讯录有这个效果,就是点击联系人列表的A-Z侧边栏时,A-Z栏的被触摸处会扭曲成半圆,半圆可以随着手指在A-Z移动.索尼手机的比较高级,扭曲和恢复的过程有阻尼效果,360的没有任何效果就一伸一缩.所本人实现了个360效果一摸一样的,A-Z侧边栏.     一.实现原理讲解: 我们知道正常的A-Z栏每个字母的坐标的Y值应该是一样的(起码差不多一样),所以绘制出来的时候三竖直的.因此我只要按照如下步骤,就可以实现图中的效果: 1.当A-Z栏被触摸时,通过s

UVA 11054 The Necklace 转化成欧拉回路

题意比较简单,给你n个项链碎片,每个碎片的两半各有一种颜色,最后要把这n个碎片串成一个项链,要求就是相邻碎片必须是同种颜色挨着. 看了下碎片总共有1000个,颜色有50种,瞬间觉得普通方法是无法在可控时间内做出来的,因为碎片到底放哪里以及是正着放还是反着放都是不可控的. 这个时候数学建模就真的好重要了,如果我们能把颜色作为节点,一个碎片就表示两个节点连了一条路,那其实就是走了一遍欧拉回路,就意味着项链做成了. 太叼了,这个思想真心不错...LRJ书上的提示,否则我还真是想不到可以这样. 不过还有

java 将一个正整数翻译成人民币大写的读法

程序如下: 1 import java.lang.StringBuffer; 2 /** 3 给定一个浮点数,将其装换成人民币大写的读法 4 88.5:捌十捌元零伍角 5 */ 6 public class Num2Rmb 7 { 8 private String[] hanArr={"零","壹","贰","叁","肆","伍","陆","柒",

识别Json字符串并分隔成Map集合

识别Json字符串并分隔成Map集合 前言: 最近又看了点Java的知识,于是想着把CYQ.Data V5迁移到Java版本. 过程发现坑很多,理论上看大部分很相似,实践上代码写起来发现大部分都要重新思考方案. 遇到的C#转Java的一些小问题: 1:C#的ref:这个参数的主要意图是: 就算方法内部重新对参数重新(new)赋值,也能保证外部的参数指向新的值. Java木有了,不知道新的方案是什么?还是说只能避免方法内部重新(new)赋值? 2:C#的out:这个参数的主要意图是: 处理多值返回

PHP-生成缩略图和添加水印图-学习笔记

1.开始 在网站上传图片过程,经常用到缩略图功能.这里我自己写了一个图片处理的Image类,能生成缩略图,并且可以添加水印图. 2.如何生成缩略图 生成缩略图,关键的是如何计算缩放比率. 我这里根据图片等比缩放,宽高的几种常见变化,得出一个算缩放比率算法是,使用新图(即缩略图)的宽高,分别除以原图的宽高,看哪个值大,就取它作为缩放比率: 缩放比率  = Max( { 新图高度  / 原图高度 ,  新图宽度  / 原图宽度 } ) 也就是: If ( (新图高度  / 原图高度)  >  (新图