Sql-Query:在输出中隐藏空格后的字母

时间:2010-08-05 08:12:53

标签: mysql phpmyadmin

我遇到了问题,希望你能帮我找到解决方案。


Name    Hours   title
Name1 12 #1 (Text) - text - text
Name2 13 #1545 (text) - text - text
Name5 19 #33558 (text) - text - text
Name6 36 #54123 (text) – text

这是以下查询的摘录:

SELECT name AS Name, Sum((Unix_Timestamp(end)-Unix_Timestamp(start))/3600) AS Hours, title 
FROM myTable
GROUP BY title;
好吧,我们有一个名称列,一个名为Hours的列(一个名字花费了多少小时......)和一个名为title的列(标题为sth。)。这个标题。包括#,数字和文字。

是否可以只获得标题的编号?喜欢:

Name     Hours   title 

Name1 12 1 Name2 13 1545 Name5 19 33558 Name6 36 54123

因为号码长度不同而陷入困境。如果标题包含数字,我不知道是否有一个函数只是在第一个空格之前调用所有内容。

我需要它将标题与csv文件进行比较。

非常感谢您的帮助。 Soloco

修改 #之后总有一个空格。 编辑2:我的坏,#必须被淘汰2。

2 个答案:

答案 0 :(得分:0)

在此输入代码试试这个 -

select substring(<columnname>,0,charindex(' ', <columnname>)) from <tableName>

在您的情况下,查询将是 -

select substring(title,0,charindex(' ', title)) from myTable

仅当您的#<number>

后面有空格和其他文字时,此功能才有效

使用LOCATE代替Charindex for mysql -

http://www.overclock.net/web-coding/450373-mysql-query-help.html

答案 1 :(得分:0)

嗯,这不是一个漂亮的解决方案,但它现在满足了我的需求。

SELECT SUBSTRING(title,2,5) 

如果您发现任何其他可能性,请发布。