我正在尝试查询状态可以为true或false的表中的项。
如果状态为true,我希望将值更改为“Uitgeleend”(借出,荷兰语)。此外,如果状态为false,我希望返回的值为“Binnen”(有货,荷兰语)。
不确定如何查询。我不知道。
喜欢的东西
Select convert(Item.Status, true, 'Uitgeleend') AS Status
或者我现在做的事情非常愚蠢?
编辑:这是我的原始查询,必须添加状态:
SELECT Item.Titel, Item.Uitgever, Game.PEGI, Game.EAN, convert(varchar, Item.DvU, 101) AS DatumVUitgave, Platform.Soort as Platform, Media.soort as Media, GameGenre.Genre AS Genre FROM Game LEFT JOIN ITEM ON Item.ID = Game.itemID LEFT JOIN Media ON Game.MediaID = Media.Id LEFT JOIN Platform ON Game.PlatformID = Platform.Id LEFT JOIN GameGenre ON Game.GameGenreID = GameGenre.Id
答案 0 :(得分:2)
您可以使用case
。
假设您正在讨论bit
列,请执行以下操作:
SELECT
Item.Titel, Item.Uitgever, Game.PEGI, Game.EAN,
convert(varchar, Item.DvU, 101) AS DatumVUitgave,
Platform.Soort as Platform, Media.soort as Media,
GameGenre.Genre AS Genre,
-- here's your new column:
case when Item.Status=1 then 'Uitgeleend' else 'Binnen' end as Status
FROM Game
LEFT JOIN ITEM ON Item.ID = Game.itemID
LEFT JOIN Media ON Game.MediaID = Media.Id
LEFT JOIN Platform ON Game.PlatformID = Platform.Id
LEFT JOIN GameGenre ON Game.GameGenreID = GameGenre.Id
如果它是实际字符串“true”,则只需将1
更改为'true'
。
convert
用于更改列的类型 - 例如将数字转换为文本,或将文本转换为日期时间。