我试着只从 varchar 字段中提取最后四个字符。所有行的长度都不一样。我应该使用什么功能来完成这项工作?
正确应该做的是:
select RIGHT('abcdeffff',4)
使用 RIGHT()函数: http://msdn.microsoft.com/en-us/library/ms177532(v=sql.105).aspx
RIGHT()
SELECT RIGHT( '1234567890', 4 ); -- returns '7890'
RIGHT ( character_expression , integer_expression )
SELECT RIGHT(column, 4) FROM ...
还有其他 字符串函数的列表。
对于 OracleSQL,SUBSTR(column_name, -# of characters requested)将提取给定查询的最后三个字符
SUBSTR(column_name, -# of characters requested)
SELECT SUBSTR(description,-3) FROM student.course;
SUBSTR(column, LENGTH(column) - 3, 4)
LENGTH返回字符串的长度,SUBSTR从“位置长度 -4”返回4个字符
LENGTH
SUBSTR
经过测试的黑客解决方案。
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个字符。