|
|
1
2
我认为immediate if[i if()]函数更适合于您正在尝试的操作:
但是switch()函数不应破坏数据类型,并且与日期/时间数据类型不兼容。考虑这个函数:
Tryswitch(“今日”) 收益率 10/6/2009 和 类型名(Tryswitch(“Today”)) 收益率 日期 |
|
|
2
1
你的例子有点奇怪。 switch接受表达式对,如果第一个表达式对的计算结果为true,则返回其成对值,否则,它将传递给第二个表达式对,并计算该参数。 你似乎认为1是正确的,这是因为它不是错误的,但你最好:
但这只是immediate if函数、iif()和iif()功能的复制,只需要更少的参数。 但它也有同样的问题,因为它返回一个变量。但您应该能够将其强制为可以格式化为日期的数据类型。 但是,这个变量是否会被隐式地强制执行,或者您需要显式地执行它,取决于您使用它的位置。在查询结果中,您可以将IIF([条件],日期1,日期2)的输出排序为日期,因为列被强制为日期类型。 如果必须显式执行强制,则cdate()是要使用的函数--您将用cdate()函数包装生成变量输出的外部函数,以确保变量输出显式强制为日期类型:
但我很可能错过了一些重要的事情,因为我似乎走上了一条完全不同的道路… |
|
|
3
1
你能发布一些代码和数据来重现这个问题吗?因为这是
[选择点:Access数据库SQL没有“Boolean”数据类型。它有一个
这是一些SQL DML( ANSI-92 Query Mode 语法)演示它如何按预期工作:
更改任何“条件”值,该值始终返回为“日期”,即类型
更新:
的确。因为一列只能是一种数据类型,所以
分别返回“日期”和“小数”,但该列将是什么?显然,答案是:
“绳子”?!
…这当然不是Access数据库引擎SQL数据类型。所以
返回“boolean”,尽管如上所述,Access数据库引擎SQL中没有布尔数据类型。和
返回“string”。注:同样的VBA映射限制适用于
|
|
|
Johnny T · 基于当前值的SQL合并表[重复] 1 年前 |
|
John D · 需要为NULL或NOT NULL的WHERE子句 1 年前 |
|
ojek · 如何对SQL结果进行分组和编号? 1 年前 |
|
|
senek · 如何在PL/SQL中将选择结果(列)放入数组中 1 年前 |
|
|
Sax · 规范化Google表格(第一步) 1 年前 |
|
|
Jatin · 检索卷计数的动态sql抛出错误语法错误[关闭] 1 年前 |
|
|
Andrus · 如何在sql中查找第二个匹配项 1 年前 |