【问题标题】:Replace Bit Values (1) with Day names SQL将位值 (1) 替换为日期名称 SQL
【发布时间】:2017-07-17 07:00:07
【问题描述】:

通过以下查询,我从我的数据库中选择天数(位值)到一个用空格分隔的字符串中:

SELECT CONVERT(VARCHAR(20),BPL_MONDAY) + ' ' + 
       CONVERT(VARCHAR(20),BPL_TUESDAY) + ' ' + 
       CONVERT(VARCHAR(20),BPL_WEDNESDAY) + ' ' + 
       CONVERT(VARCHAR(20),BPL_THURSDAY) + ' ' + 
       CONVERT(VARCHAR(20),BPL_FRIDAY) + ' ' + 
       CONVERT(VARCHAR(20),BPL_SATURDAY) + ' ' + 
       CONVERT(VARCHAR(20),BPL_SUNDAY)
FROM BOS_PRICE_LIST

查询结果如下所示:

现在我想用当前日期名称替换 1。一行示例:

当前查询结果: 1 1 1 1 1 0 0

我想要什么:周一周二周三周四周五

感谢您的帮助

问候

【问题讨论】:

  • 相信你可以使用casethis会有所帮助
  • 是的,我已经尝试过使用案例,但我无法得到我想要的结果,所以我寻求帮助。
  • 如果您已经尝试过,最好分享您的尝试和结果,以便为那些愿意帮助您的人节省时间。

标签: sql sql-server ms-access


【解决方案1】:

使用CASE 声明

SELECT case when BPL_MONDAY = 1 then 'Monday' else  '' end + 
       case when BPL_TUESDAY = 1 then 'Tuesday' else  '' end +
       case when BPL_WEDNESDAY = 1 then 'Wednesday' else  '' end +
       case when BPL_THURSDAY = 1 then 'Thursday' else  '' end +
       case when BPL_FRIDAY = 1 then 'Friday' else  '' end +
       case when BPL_SATURDAY = 1 then 'Saturday' else  '' end +
       case when BPL_SUNDAY = 1 then 'Sunday' else  '' end 
FROM BOS_PRICE_LIST

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-09
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 2021-01-01
    相关资源
    最近更新 更多