将sqlite中的数字连接为带有短划线字符的文本

Concatenate Numbers in sqlite as text with a dash character

我正在尝试将数字连接为文本,在我连接的数字之间使用破折号 (-)。

我已经弄清楚如何将数字连接成文本:

CAST(variable1 AS VARCAHR) || CAST(variable2 AS VARCHAR)

我想在它们之间加一个破折号,即

CAST(variable1 AS VARCAHR) || CAST(- AS VARCHAR) || CAST(variable2 AS VARCHAR)

但这给了我一个无效的 SQL 错误。我认为这可能与破折号不在 unicode 中或其他东西有关,我不确定。谢谢你的帮助。

只需将它与文字字符串连接(也不需要强制转换):

variable1 || '-' || variable2

上面这个得到4票的答案是错误的。如果没有 CAST 则数值不会出现。

正确答案是:

CAST(variable1 AS VARCHAR)|| '-' ||  variable2