我正在使用MS SQL SERVER 2003。我想要更改一个表格中的列,使其条目字符数减少。这与此问题完全相同:更改表列以接受更多字符,不同的是我需要减少字符数而不是增加。
我有一个包含9位数字的列。之前在该表上工作的开发人员错误地将列设置为容纳10位数字。我需要将类型从
根据上面链接的讨论中的说明,我编写了以下语句:
我该如何告诉SQL Server丢弃额外的空格并将我的列转换为CHAR(9)类型?
我有一个包含9位数字的列。之前在该表上工作的开发人员错误地将列设置为容纳10位数字。我需要将类型从
CHAR(10)
更改为CHAR(9)
。根据上面链接的讨论中的说明,我编写了以下语句:
这会返回错误消息“将截断字符串或二进制数据”。我看到我的9位数字字符串后面附加了一个空格,以使它们变成10位数。ALTER TABLE [MY_TABLE] ALTER COLUMN [MY_COLUMN] CHAR(9);
我该如何告诉SQL Server丢弃额外的空格并将我的列转换为CHAR(9)类型?
LEFT
返回带有最多n
个字符的字符串,但在某些编码中每个字符可以有多个字节(例如utf8mb4_general_ci
)。MariaDB 中的数据类型,如text
,具有以字节为单位的最大大小,而不是字符数。(很抱歉让您看到这篇“僵尸帖子”,但它是某些查询的谷歌搜索结果的第一名) - BorysekOndrej