假设我正在尝试YEAR_MONTH从user表中的记录中提取
我可以写:
SELECT EXTRACT(YEAR_MONTH FROM u.created_on)
FROM user u;
Run Code Online (Sandbox Code Playgroud)
我正在努力理解如何编写涉及更复杂的MySQL方法的续集查询.
我知道我可以使用类似的东西:
sequelize.fn('avg', sequelize.col('User.age')), 'avg_age']
对于只采用一个参数的简单MySQL方法.
这是我能得到的最接近的:
[sequelize.fn('extract', ['YEAR', 'FROM'],
sequelize.col('User.created_on')), 'created_year_month']
Run Code Online (Sandbox Code Playgroud)
这导致以下SQL:
extract('YEAR_MONTH', 'FROM', `User`.`created_on`) AS `created_year_month`
Run Code Online (Sandbox Code Playgroud)
而不是
SELECT EXTRACT(YEAR_MONTH FROM u.created_on)
FROM user u;
Run Code Online (Sandbox Code Playgroud)
关于如何正确构建此查询,我感到很遗憾.
我正在尝试验证可以具有任意键的对象,这些键的值可以是看起来像这样的对象:
{ "href": "some string" }
或包含与上述对象匹配的数组。
这是我目前拥有的,不起作用:
{
"$schema": "http://json-schema.org/schema#",
"id": "https://turnstyle.io/schema/links.json",
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "object",
"required": "href"
},
{
"type": "array",
"items": {
"type": "object",
"required": "href"
}
}
]
}
}
Passing example:
{
"customer": { "href": "/customer/1" },
"products": [
{ "href": "/product/1" },
{ "href": "/product/2" }
]
}
Failing example:
{
"customer": { "wrongKey": "/customer/1" },
"products": "aString"
}
Run Code Online (Sandbox Code Playgroud)
有可能,如果可以,正确的语法是什么?
我的假设是,这将不起作用,因为in oneOf|anyOf|allOf中传递的架构additionalProperties必须适用于属于下的所有键additionalProperties。