【发布时间】:2015-07-20 07:04:00
【问题描述】:
我们都知道系统函数DATEADD函数(例如)。这个函数有 3 个参数,第一个参数对我来说很奇怪。为了找出第一个参数的参数类型(在对象资源管理器窗口中显示varchar),我在 Google 上看了很多,但什么也没找到!
我认为是这个函数中使用的一种Enum,因为用法和Enum用法很相似:
Print DATEADD(DAY,1,GETDATE()) -- What's that DAY?
如果回答以下问题之一,则可以回答我的问题:
- 如何查看系统功能定义?
- 上述语句中的
DAY是什么,我如何编写像DATEADD这样的函数来接受这样的参数? - 如果是枚举,如何在 TSQL 中定义枚举?
【问题讨论】:
-
SQL 是一种奇怪的语言。我相信(虽然不能证明)
day/week/etc 是上下文相关的关键字。 T-SQL 的内置函数享有 UDF 不具备的某些特权,包括您所看到的语法上的怪异。 -
我是sql中的同义词。
-
正如戴所说,你不能做这些事情。 T-SQL 实现者的规则与in T-SQL的编写规则不同。
-
关于 t-sql 枚举 link
标签: sql sql-server tsql