我正在尝试用where:{
field1: 'value1',
field2: 'value2',
$and:[
Sequelize.where(
Sequelize.literal('"tableName"."jsonbColumn"->>\'keyInsideJSONB\''),
valueWhichYouWantToMatch
),
Sequelize.where(
Sequelize.literal('"tableName"."jsonbColumn"->"nestedJsonKey"->>\'keyInsideNestedJSONBKey\''),
nestedValueWhichYouWantToMatch
)
]
}
读取由整数和带引号的字符串组成的行。
我的格式化字符串类似于sscanf
。 "\"%m[^\"]s\" , %x"
在引号内给出一个字符串,但不在第二个字段中给出其余的输入。我也尝试了sscanf
,因此结束引用应该进入"\"%m[^\"]s%c"
。 %c
再次只给出一个字段。只有sscanf
才有效,而%s
却没有。
答案 0 :(得分:2)
假设输入字符串为"\"Hello there\", 32"
,那么这就是sscanf()
使用格式化字符串"\"%m[^\"]s\" , %x"
读取它的方式:
\"
与输入中的\"
匹配(并将其丢弃)。%m[^\"]
1 与Hello there
匹配。s
与\"
不匹配您要使用的格式字符串是"\"%m[^\"]\" , %x"
有关sscanf()
及其格式字符串的详情,请阅读http://en.cppreference.com/w/c/io/fscanf和/或the man page。
1 请注意,m
修饰符不是标准C(即使它是`POSIX标准的一部分)。