我想修剪字串服務器端。
考慮一下:一個屬性是字串,如果長度超過 10 個字符,我想修剪它。考慮這個查詢:
Match (r)
with r, case r.what
when size(r.what) > 10 then substring(r.what, 0, 10)
else r.what end as w
return {what : w, len : size(w)} as props
我希望size(r.what) > 10評估為 true 并substring(r.what, 0, 10)分配給 variable w, 無論長度如何
,w總是等于原始字串 ' '。被正確報告。r.whatlen
我究竟做錯了什么?我使用neo4j 4.4
uj5u.com熱心網友回復:
去掉r.what后面的CASE。您的查詢應如下所示:
MATCH (r)
WITH r,
CASE
WHEN size(r.what) > 10 THEN substring(r.what, 0, 10)
else r.what
END AS w
RETURN {what : w, len : size(w)} AS props
當您在CASE(在您的問題中r.what)之后添加一個運算式時,它的值將與您在每個WHEN.
資料來源:
- https://neo4j.com/docs/cypher-manual/current/syntax/expressions/#syntax-simple-case
- https://neo4j.com/docs/cypher-manual/current/syntax/expressions/#syntax-generic-case
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/473913.html
上一篇:明智地連接兩個字串元素
