SQL Server 2008是否有像MySQL的enum
這樣的數據類型?相當於MySQL枚舉數據類型的SQL Server?
回答
它沒有。有一個模糊等價:
mycol VARCHAR(10) NOT NULL CHECK (mycol IN('Useful', 'Useless', 'Unknown'))
CREATE FUNCTION ActionState_Preassigned()
RETURNS tinyint
AS
BEGIN
RETURN 0
END
GO
CREATE FUNCTION ActionState_Unassigned()
RETURNS tinyint
AS
BEGIN
RETURN 1
END
-- etc...
表現在哪裏的問題,仍然使用硬值。
恕我直言,查找表是參考完整性的方法。 但只有當你通過下面這個例子來避免「邪惡的魔法數字」時: Generate enum from a database lookup table using T4
玩得開心!
當我想在SQL Server中實現枚舉時找到了這個有趣的方法。
考慮到所有的數據庫枚舉需求都可以用2箇中心表來滿足,下面鏈接中提到的方法非常有吸引力。
這是一種反模式的變體,被稱爲「one true (查找表」。正確的做法是爲每個枚舉類型使用單獨的表並使用外鍵(如果您需要查找,可能不是「純」枚舉的情況)。 – 2014-09-04 13:22:41
鏈接頁面上的註釋爲每個「枚舉」使用單獨的表格提供了很好的備份,而不是這個答案指定的內容 – 2015-04-13 20:14:06
大多數人會很肯定地忽略這種設計是非常有趣的,但作者將他的文章命名爲「最佳實踐」 。 – 2016-11-16 13:11:17
- 1. SQL Server 2008中的枚舉類型?
- 2. 這是MySQL枚舉數據類型的適當使用嗎?
- 3. Python的枚舉相當於
- 4. SQL alter names - 枚舉數據類型..?
- 5. Elasticsearch - 枚舉數據類型
- 6. 其他相當於枚舉?
- 7. 如何枚舉sql server的數據庫
- 8. SQL Server來Netezza數據類型相當於
- 9. 枚舉類型和MySQL
- 10. SMO異常枚舉SQL Server數據庫
- 11. 在SQL Server數據庫中枚舉
- 12. 位數據類型來枚舉類型映射從數據庫SQL Server中的數據集2008
- 13. sql server枚舉當前會話變量
- 14. 映射枚舉類具有相同枚舉類型
- 15. 相當於SQL Server的MySQL計算列
- 16. 相當於MySQL數據和時間數據類型的C#
- 17. TinyInt作爲枚舉的數據類型
- 18. C#枚舉的數據類型
- 19. EMF中的枚舉數據類型
- 20. 相當於C++枚舉的Ruby/Rails
- 21. 類型枚舉
- 22. Ç枚舉(枚舉類型定義)的
- 23. Node.js native枚舉中的枚舉類型
- 24. 具有相同值的枚舉類型
- 25. 在枚舉查找相關類型的數據
- 26. sql server相當於mysql,其中
- 27. 更改mysql中的枚舉類型
- 28. MySQL的枚舉數據類型可能有多少個值?
- 29. 使用枚舉數據類型
- 30. 虛擬數據類型/枚舉
如何做到這一點的SSMS? – EgoPingvina 2017-10-03 19:49:15
@EgoPingvina:你應該在一個問題中提出這個問題,而不是評論。 – chaos 2017-10-18 19:51:38