对象数据库: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的
一周热门 更多>