我的节点中有一个String属性,其中String的长度没有修复.现在我必须通过此属性搜索正确的节点,但我从另一个系统获得固定长度值.例如,我的节点的值为'0123',但我获取了信息'000123'进行搜索.
我需要一个像Zeros左边填充的函数,这个在Where子句中
MATCH(a:LABEL)其中leftPad(a.property,6,'0')='000123'返回LIMIT 1
这样的事情可以通过良好的表现吗?
你可以这样做:
MATCH (a:LABEL)
WHERE SUBSTRING('00000', 0, SIZE(a.property)) + a.property = '000123'
RETURN a
LIMIT 1;
Run Code Online (Sandbox Code Playgroud)
或者,如果所有字符都是数字,那么您可以这样做:
MATCH (a:LABEL)
WHERE TOINT(a.property) = TOINT('000123')
RETURN a
LIMIT 1;
Run Code Online (Sandbox Code Playgroud)
但是,如果您可以将property值作为整数存储在第一位,并将其与整数进行比较会更好,这将是最快的.这可能很容易,具体取决于您的情况.
MATCH (a:LABEL)
WHERE a.property = 000123
RETURN a
LIMIT 1;
Run Code Online (Sandbox Code Playgroud)