【发布时间】:2017-06-30 22:50:45
【问题描述】:
我正在尝试获取 SQL 中字符串的长度(使用 Firebird 版本 2.x+)。 每当我选择字符串的长度时,它都会给我该字符串的实际分配的最大长度,而不是获取记录中包含多少个字符的长度,如您在此处看到的:
您可以想象,这对我没有帮助,因为我无法按长度排序,因为我试图按分配了恒定长度的属性进行排序。
我将如何实现我想要实现的目标?即:获取一个字符串中取多少个字符的长度。
【问题讨论】:
-
您的列是 CHAR 还是 VARCHAR?
-
数据类型是 CHAR,这没有任何意义,但是数据库是我的教授创建的,并且给定的任务之一是按名称长度排序。而且我仍然不确定他是否在那里犯了错误,或者是否有办法计算 CHAR 中占用的字符
-
手边没有 Firebird 的副本,但没有可用的 Trim() 或 RTrim() 或 LTrim() 标量函数吗?
-
firebirdsql.org/refdocs/langrefupd20-char-length.html - 如果您想获得“逻辑”长度,不计算尾随空格,请在将参数传递给 CHAR[ACTER]_LENGTH 之前右修剪参数。
-
请将您的屏幕截图以文本形式发布,尤其是查询本身。
标签: sql character firebird string-length