如何从 varchar 中取出最后四个字符?

我试着只从 varchar 字段中提取最后四个字符。所有行的长度都不一样。我应该使用什么功能来完成这项工作?

407050 次浏览

正确应该做的是:

select RIGHT('abcdeffff',4)

使用 RIGHT()函数: http://msdn.microsoft.com/en-us/library/ms177532(v=sql.105).aspx

SELECT RIGHT( '1234567890', 4 ); -- returns '7890'

RIGHT ( character_expression , integer_expression )

SELECT RIGHT(column, 4) FROM ...

还有其他 字符串函数的列表。

对于 OracleSQL,SUBSTR(column_name, -# of characters requested)将提取给定查询的最后三个字符

SELECT SUBSTR(description,-3) FROM student.course;
SUBSTR(column, LENGTH(column) - 3, 4)

LENGTH返回字符串的长度,SUBSTR从“位置长度 -4”返回4个字符

经过测试的黑客解决方案。

select distinct(city) from station
where substr(lower(city), length(city), 1) in ('a', 'e', 'i', 'o', 'u') and substr(lower(city), 1, 1) in ('a', 'e', 'i', 'o', 'u');

可以用 -选择最后一个字符

WHERE SUBSTR('Hello world', -4)

我已经在 SQLServer 中使用了正确的函数,并且它正在工作。

SELECT RIGHT( your_column_name, 4 );

——它将显示最后4个数字/字符

你可以用

SELECT RIGHT(<Column_name>, 4) FROM <table_name>

这将给你所有的行,但只与他们的最后4个字符。