将位值 (1) 替换为日期名称 SQL
Posted
技术标签:
【中文标题】将位值 (1) 替换为日期名称 SQL【英文标题】:Replace Bit Values (1) with Day names 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
我想要什么:周一周二周三周四周五
感谢您的帮助
问候
【问题讨论】:
相信你可以使用case
this会有所帮助
是的,我已经尝试过使用案例,但我无法得到我想要的结果,所以我寻求帮助。
如果您已经尝试过,最好分享您的尝试和结果,以便为那些愿意帮助您的人节省时间。
【参考方案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
【讨论】:
以上是关于将位值 (1) 替换为日期名称 SQL的主要内容,如果未能解决你的问题,请参考以下文章