【发布时间】:2011-01-11 20:50:28
【问题描述】:
我想编写一个 sql 语句来从字符串“Hello World”中修剪一个字符串“Hello”。 请提出建议。
【问题讨论】:
标签: sql sql-server
我想编写一个 sql 语句来从字符串“Hello World”中修剪一个字符串“Hello”。 请提出建议。
【问题讨论】:
标签: sql sql-server
对于字符串开头的“Hello”:
SELECT STUFF('Hello World', 1, 6, '')
这适用于字符串中任何位置的“Hello”:
SELECT REPLACE('Hello World', 'Hello ', '')
【讨论】:
所以你只想打印Hello 对,你可以使用它(适用于命令行客户端和工作台)
Select TRIM('World' from 'Hello World') as result;
【讨论】:
您可以将 LEN 与 SUBSTRING 结合使用:
SELECT SUBSTRING(myColumn, 7, LEN(myColumn)) from myTable
【讨论】:
select substring( field, 1, 5 ) from sometable
【讨论】:
SELECT STUFF(field,1,8,'') FROM sometable
要删除最左边的单词,您需要使用 RIGHT 或 SUBSTRING。假设您知道涉及多少个字符,则可能如下所示:
SELECT RIGHT('Hello World', 5)
SELECT SUBSTRING('Hello World', 6, 100)
如果您不知道第一个单词有多少个字符,则需要使用 CHARINDEX 找出,然后将该值替换回 SUBSTRING:
SELECT SUBSTRING('Hello World', CHARINDEX(' ', 'Hello World') + 1, 100)
这会找到第一个空格的位置,然后将剩余的字符移到右边。
【讨论】:
使用“左”
select left('Hello World', 5)
或使用“SUBSTRING”
select substring('Hello World', 1, 5)
【讨论】: