SQL在选择中查找字符串
我有一个这样的选择语句:
SELECT ColumnA,
CASE ColumnB = 'England' THEN ...
在 THEN 语句之后的部分中,我想从 ColumnC 中获取数字,
例如 ColumnC 值 = ABC 123 DEF,并且我需要“123”部分。
有谁知道当“123”始终位于字符串中仅有的两个空格之间时我可以在选择中执行此操作的sql代码? (微软 SQL)
I have a select statement like this:
SELECT ColumnA,
CASE ColumnB = 'England' THEN ...
In the part after the THEN statement, i want to take the numbers from ColumnC,
e.g. ColumnC value = ABC 123 DEF, and i need the '123' part.
Does anyone know the sql code i can use to do this within the select when the '123' will always be in between the only 2 spaces in the string? (MS SQL)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
主要关键是需要使用
ColumnC LIKE '% % %'
这样在数据不包含两个空格的情况下才不会失败。如果您的数字长度少于 20 个字符,您可以使用这个
或者您可以使用这个
The main key is that you need to use
ColumnC LIKE '% % %'
so that it does not fail when the data does not contain two spaces.If your numbers are going to be less than 20-char long, you can use this
Or you can use this
您可以使用
CHARINDEX
和SUBSTRING
的组合:对于提供的示例字符串,这可以按预期工作。
You can use a combination of
CHARINDEX
andSUBSTRING
:This works as expected for the sample string provided.