首页 > 电脑

数据类型转换

更新时间2019-05-27 12:48:45

对象数据库:oracle 11g     xingb(性别) 字段类型  varchar(2 )     [oracle  数据库里面是 男 和女 的值]

目标数据库  SQL    字段了下   sex (性别)  INT(2)

对方SQL数据需要调取我们的视图

语句应该怎么写 现在这样写的

select    (Case to_char(xingb)  When  '男' Then  '1'When  '女'Then  '2' Else '' End )  sex  from   人员信息


请问这样写是否合适  或者


select    (Case  xingb   When  '男' Then  '1'When  '女'Then  '2' Else '' End )  sex  from   人员信息


这两种是不是一样


按我的经验(没测试)

你的二种写法结构相同,但第一写法没必要,因为xingb本身就是varchar类型,它可以直接与'男',‘女’比较而不必转为char的

另外,你的结果要int的,所以不要加引号‘1’就是1,‘2’就用2

还有,oracle这种需求一般用decode而不必用case ....when的

上一篇:IF(A1=B1至B30单元格中内容,B100,IF(A1=C1至C30单元格中内容,C100,))

下一篇:python未定义名称“CV2”