java - 如何选择包含长文本或短文本的列,如果长度 > 100,则剪切文本,如果 < 100,则添加空格以使其精确为 100?

标签 java mysql select

我正在使用一个应用程序,其中我需要从数据库获取一个字符串,但该字符串的长度应始终为 100,而不在我正在检索的列上使用任何数据类型,但只有 varchar?根据我正在使用的初始 sql,我将在 SELECT 语句中使用一个条件,如下所示:

SELECT IF (LEN(`name`) >= 100, SUBSTRING(`name`,1,100), //problem) AS formatted_name FROM employee_info;

我的问题是条件下的 else 结果,如果它小于 100 并且我想提供空格使其达到 100,该怎么办。例如,名称列只有 51 个字符,因此我需要再提供 49 个空格。我应该在 select 语句上控制它吗? java 是否将空格作为我正在检索的字符串的一部分进行处理?

最佳答案

您可以使用RPADLPAD :

SELECT RPAD('str', 5, ' '); -> returns 'str  '
SELECT LPAD('str', 5, ' '); -> returns '  str'

关于java - 如何选择包含长文本或短文本的列,如果长度 > 100,则剪切文本,如果 < 100,则添加空格以使其精确为 100?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45274570/

相关文章:

mysql - 用mysql中的数据填充表

mysql - 如何优化IN约束查询?

java - 构建前将jar添加到maven本地仓库

java - 重复事件逻辑

java - 不同包中的两个类如何隔离它们?

mysql - 带有 SphinxSE 的 MariaDB 10.0

java - 在 Java 中检查字符串是否为空或 null

mysql - Linux 上的 MySQL 简单 API 使用哪些工具

php - Symfony2 使用 session 键和值创建对象

python - 如何使用 python 脚本从数据库中检索具有列名的值?