【发布时间】:2017-03-21 19:18:25
【问题描述】:
我将提出一个关于从列中“别名化”值的问题。我将使用一周中的几天作为一个直观的示例来解决我的问题,但我不要求进行日期时间转换。
假设我有以下 SQL 脚本:
SELECT DaysOfWeek
FROM [databasename].[dbo].[tablename]
现在,DaysOfWeek 列将返回日期名称的字符串值,即“星期一”、“星期二”等等。
如果我希望查询返回整数 1 代表“星期一”,返回整数 2 代表“星期二”,等等?我想在SELECT 语句中为每周的每一天分配一个特定的值,但我不确定如何去做。
我对 SQL 比较陌生,所以我只是想我会要求一种直观的方法来执行这样的任务。
编辑添加:我只是使用星期几和它们各自的整数表示作为一个简单的例子;我的任务不涉及星期几,而是员工代码编号和相应的职位。
【问题讨论】:
-
正常的方法是首先存储整数值。您的表中真的只有一个字符串吗?你能解决这个问题吗?
-
DaysOfWeek 是表中的列还是存储函数?它不能是变量。
-
请看我的编辑-谢谢。 @Anand,我的意思是说“列”。我现在就改一下。
-
听起来您需要阅读有关查找表和规范化的信息。查找表是大多数关系数据库的生命线,理解它们对于系统的成功至关重要。它们与 select 语句一样基本和常见。
-
@GarrettVlieger 不,不是。
标签: sql sql-server database