2011-01-11 44 views

回答

19
select substring(field, 1, 5) from sometable 
+0

马克,我需要从一个表中修剪列的左8个字符。请建议。 – Simhadri 2011-01-11 20:59:44

+2

@Simhadri:在这种情况下,正如[我的回答](http://stackoverflow.com/questions/4662496/trim-left-characters-in-sql-server/4662658#4662658)中所建议的那样,您可以使用`SELECT STUFF(field,1,8,'')FROM sometable' – 2011-01-11 21:14:12

2

使用 “左”

select left('Hello World', 5) 

,或者使用“SUBSTRING “

select substring('Hello World', 1, 5) 
22

删除最左边的字,你需要使用正确或串。假设你千牛流多少字符都参与其中,这将看以下之一:

SELECT RIGHT('Hello World', 5) 
SELECT SUBSTRING('Hello World', 6, 100) 

如果你不知道第一个字了,你需要找出使用CHARINDEX多少个字符,然后代该值返回到SUBSTRING:

SELECT SUBSTRING('Hello World', CHARINDEX(' ', 'Hello World') + 1, 100) 

这将找到第一个空格的位置,然后将剩余的字符移到右侧。

5

对于“你好”的字符串的开头:

SELECT STUFF('Hello World', 1, 6, '') 

这将为“你好”的字符串中的任何地方工作:

SELECT REPLACE('Hello World', 'Hello ', '') 
4

您可以结合使用LEN与字符串:

SELECT SUBSTRING(myColumn, 7, LEN(myColumn)) from myTable