我遇到了问题,希望你能帮我找到解决方案。
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。
答案 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)
如果您发现任何其他可能性,请发布。