gpt4 book ai didi

sql-server-2005 - 将整数转换为工作日列表

转载 作者:行者123 更新时间:2023-12-02 06:26:11 26 4
gpt4 key购买 nike

我在数据库中存储了一个整数(SQLAgent 频率间隔)这个整数实际上是计划要运行的一周中选定天数的总和可能的值是这些值的任意组合

  • 周日 =1
  • 星期一 = 2
  • 星期二 =4
  • 星期三= 8
  • 星期四 = 16
  • 星期五 = 32
  • 星期六 =64

ex 65 表示计划应该在周六和周日运行

我的问题是,当给定 65 时,我需要将这些值表示为文本“星期六”和“星期日”,我正尝试在 SQL 中执行此操作

除了包含所有可能组合的巨大 CASE 语句之外,还有人能想到一种方法来做到这一点吗?

谢谢

最佳答案

您可以在 T-SQL 中使用按位运算符。方法如下:

SELECT
( CASE WHEN daybits & 1 = 1 THEN 'Sunday ' ELSE '' END ) +
( CASE WHEN daybits & 2 = 2 THEN 'Monday ' ELSE '' END ) +
( CASE WHEN daybits & 4 = 4 THEN 'Tuesday ' ELSE '' END ) +
...
( CASE WHEN daybits & 64 = 64 THEN 'Saturday ' ELSE '' END ) +

例如,这将产生“星期日星期六”。

关于sql-server-2005 - 将整数转换为工作日列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/606751/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com