Sql-Query: скрытие букв после пробела в выводе - PullRequest
0 голосов
/ 05 августа 2010

У меня проблема, и надеюсь, вы поможете мне найти решение.

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

Это выдержка из следующего запроса:

<code>SELECT name AS Name, Sum((Unix_Timestamp(end)-Unix_Timestamp(start))/3600) AS Hours, title 
FROM myTable
GROUP BY title;
Ну, у нас есть столбец с именами, столбец с именем Часы (сколько часов имя потратило на sth.?) И столбец с названием title (заголовок sth.). Название ст. включает в себя #, число и текст.

Можно ли получить только номер заголовка? Подобно:

<code>Name     Hours   title </p>

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

Я застрял, потому что длина номера меняется. Я не знаю, есть ли функция, вызывающая все до первого пробела, если заголовок содержит число.

Мне нужно сравнить заголовок с CSV-файлом.

Ваша помощь будет высоко оценена. Soloco

EDIT Всегда есть пробел после #. Edit2: Мой плохой, # должен быть устранен 2.

Ответы [ 2 ]

0 голосов
/ 05 августа 2010

Ну, это не красивое решение, но оно удовлетворяет мои потребности прямо сейчас.

SELECT SUBSTRING(title,2,5) 

Если вы видите любую другую возможность, пожалуйста, напишите.

0 голосов
/ 05 августа 2010

введите код здесьПопробуйте это -

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

В вашем случае запрос будет -

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

Это работает, только если у вас есть пробелы и другой текст после вашего #<number>

ИСПОЛЬЗУЙТЕ LOCATE вместо Charindex для mysql -

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...