WAC*_*161 2 t-sql sql-server-2005 dayofweek
我有一个存储在数据库中的整数(SQLAgent频率间隔)这个整数实际上是计划运行的星期几的选定日期之和.可能的值是这些值的任意组合
ex 65表示时间表应该在周六和周日运行
我的问题是我需要在给出65时将这些值表示为文本"Saturday"和"Sunday",我试图在SQL中执行此操作
除了一个包含所有可能组合的巨大CASE声明之外,有没有人能想到这样做的方法?
谢谢
Jas*_*hen 10
您可以在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 ) +
Run Code Online (Sandbox Code Playgroud)
例如,这将产生"星期六星期六".
| 归档时间: |
|
| 查看次数: |
2897 次 |
| 最近记录: |