如何根据布尔值在mysql中获得0或1?

时间:2017-08-17 12:39:45

标签: java jdbc boolean

我在Java类中有一个布尔值,并希望使用此状态在Mysql数据库中插入0或1状态。当我从数据库获取数据时,它总是返回true [数据库中的1]。

根据布尔值,任何人都可以告诉我如何在数据库中获得0或1。

boolean status= Boolean.parseBoolean(parameterStatus);

1 个答案:

答案 0 :(得分:0)

你所要求的并不完全清楚。我认为你的意思是“为什么数据库在进行查询时总是返回1(对于true)?”。

这可能是因为你总是插入1(真)。

以下是如何在数据库中插入和获取布尔值的示例。

SELECT   *
FROM     (SELECT    tr.Id, 
        tr.Amount, 
        tr.TypeId, 
        t.Name AS [Type], 
        tr.Date, 
        tr.ExternalKey, 
        tr.ExternalDescription, 
        tr.GameId, 
        tr.GameProviderId, 
        gp.Name AS GameProvider, 
        u.Username, 
        u.Pincode, 
        gp.Name, 
        g.GameName, 
        u.OperatorId, 
        tr.BalanceBefore,
        tr.BalanceAfter,
        tr.UserId
FROM ( 
        SELECT    *
              FROM      dbo.ActiveTransactions at
              WHERE    ( 1 = 1 )
         AND ( [Date] >= '2017-07-17 20:00:00' )
         AND ( [TypeId] != 10 )
         AND ( [UserId] = 29041 )
              UNION ALL
              SELECT    *
              FROM      dbo.TransactionHistory th --WITH(INDEX(IX_TransactionHistory_DateType_UserId))
              WHERE    ( 1 = 1 )
         AND ( [Date] >= '2017-07-17 20:00:00' )
         AND ( [TypeId] != 10 )
         AND ( [UserId] = 29041 )
            ) AS tr 

INNER JOIN dbo.Users u ON tr.UserId = u.Id
LEFT JOIN dbo.GameProviders gp ON tr.GameProviderId = gp.Id
LEFT JOIN dbo.Games g ON tr.GameId = g.GameId AND tr.GameProviderId = g.ProviderId 
INNER JOIN dbo.Types t ON tr.TypeId = t.Id     ) AS t
ORDER BY [Id] DESC OFFSET 0 ROWS FETCH NEXT 25 ROWS ONLY;