我正在尝试使用Microsoft.SqlServer.TransactSql.ScriptDom
来检查表达式是否为标量常量。
这是这样一个表达式:
DATEADD(YEAR, -21, CURRENT_TIMESTAMP)
这里不是这样的表达:
DATEADD(YEAR, -21, DateOfBirth)
它不是一个常量,因为它引用了 column DateOfBirth
。我怎样才能确定这一点?
我没想到——以及我遇到麻烦的原因——Microsoft.SqlServer.TransactSql.ScriptDom
认为那YEAR
是一个ColumnReferenceExpression
.