回 帖 发 新 帖 刷新版面

主题:[讨论]难解的SQL语句,请大家帮忙小菜菜

是这样的,我刚学 SQL2005,下面写了语句, 其中我想把值是1和0 的转化成true 或false,但是运行后竟然出现很奇怪的现象:DetailSign的是依旧是0或1,而CreateTime却成了true /false,实在不知道是哪错了!希望大侠指点,先谢谢大家~~

select ProductID,
        ProductNumber,
        ProductName,
        ProductSpecification,
        Unit,
        Remarks,
        DetailSign,case DetailSign when 1 then 'true' when 0 then  'false' end 
        InUse,case InUse when 1 then 'true' when 0 then 'false' end
        CreateTime,
        ChangeTime, 
        Creater,
        Changer 
 from BasicData_Product
 order by  ProductNumber

回复列表 (共4个回复)

沙发

自己顶啊~~哇哇。。。怎么这论坛桌这么冷清啊55

板凳

垃圾论坛果真就是垃圾论坛!

3 楼

您转的DetailSign,InUse这2个应该没有问题。具体最好你发几条典型数据。

4 楼

这是你基础不行,有什么好奇怪的.
DetailSign,case DetailSign when 1 then 'true' when 0 then  'false' end 
        InUse,case InUse when 1 then 'true' when 0 then 'false' end
        CreateTime,
你转的是DetailSign ,没错,但你所取的别名是InUse
而你转InUse的时候取的别名是CreateTime ,当然CreateTime 的值就是true和false喽.
DetailSign,
case DetailSign when 1 then 'true' when 0 then  'false' end InUse,
case InUse when 1 then 'true' when 0 then 'false' end CreateTime,
这样看你就应该清楚了.
正确的应该是这样的
.......
Remarks,
case DetailSign when 1 then 'true' when 0 then  'false' end DetailSign,
case InUse when 1 then 'true' when 0 then 'false' end  InUse,
CreateTime,
.....

我来回复

您尚未登录,请登录后再回复。点此登录或注册