【发布时间】:2015-02-14 13:58:02
【问题描述】:
有一个 SQL 表 mytable 有一个列 mycolumn。
该列在每个单元格内都有文本。每个单元格都可能包含“this.text/31/”或“this.text/72/”子字符串(子字符串中的数字可以是任何数字)作为字符串的一部分。
应该执行什么 SQL 查询来显示唯一的此类子字符串的列表?
附:当然,某些单元格可能包含几个这样的子字符串。
以下是 cmets 问题的答案: 该查询应该在 SQL Server 上运行。 首选输出应包含整个子字符串,而不仅仅是数字部分。它实际上可能不仅仅是第一个“/”和第二个“/”之间的数字。
而且是varchar类型(可能)
示例:
mycolumn 包含这样的值:
abcd/eftthis.text/31/sadflh adslkjh
abcd/eftthis.text/44/khjgb ljgnkhj this.text/447/lhkjgnkjh
ljgkhjgadsvlkgnl
uygouyg/this.text/31/luinluinlugnthis.text/31/ouygnouyg
khjgbkjyghbk
查询应该显示:
this.text/31/
this.text/44/
this.text/447/
【问题讨论】:
-
所以你只想要数字部分?您能否根据示例数据集阐明所需的输出?
-
所以这个单元格是
varchar类型? -
您的查询是否应该同时在 MySQL 和 SQL Server 上运行?
-
为什么
SELECT DISTINCT mycolumn FROM mytable不起作用? -
我在上面的描述中回答了你的问题。谢谢。
标签: mysql sql sql-server select