2014-03-19 12:25 GMT-03:00 Peter Laursen <peter_laursen@webyog.com>:
I feel like to comment here on "because it can't use indexes for such things". This is not a serious reply IMO. It is just another way or saying "Please shut up!"
yes
How many existing string functions ( http://dev.mysql.com/doc/refman/5.6/en/string-functions.html) use an index? Does "select concat('a','b');" do for instance? I cannot think of any. And why do we have 'stored programs' if a database server should only do things that uses indexes? Does a WHILE-loop inside a stroed program use an index?
Unlike most other RDBMS, MySQL has a tradition to do things in the application thet other RDBMS would do in the database. But that traditions is/was because of lack of functionality in the server before 5.0 (what is still the case in some respects. Try compare a MySQL TRIGGER with an Oracle or SQL Server same, for instance).
That said: this functionality can be implemented in a stored function using existing string functions (or in the application, as sugggested) quite easily. It is not possible (or desirable) to add build-in functions for everything. And I have no clue is such string function exists in other RDBMS.
if i have gcc and mariadb source here i could create a native function, that`s very fast, but i have only heidisql :) thanks for the idea of replace and difference, that worked very nice =) i don`t know why, but many functions (of php for example) could be implemented easily, but why not implement it? there`s a sql 2000 standard or something like it to disallow this kind of functions? maybe we could create a plugin with many function native to mariadb, and set it on/off to allow a mysql compatibility
-- Peter -- Webyog
On Wed, Mar 19, 2014 at 4:03 PM, Reindl Harald <h.reindl@thelounge.net>wrote:
Am 19.03.2014 15:51, schrieb Roberto Spadim:
hi guys, i'm not finding a function to return how many character i have, for example:
"banana"
i want a function that return 2 "n" characters, example: substr_count("banana","n") => 2
sorry it a begginners question, but i didn't found it in mysql/mariadb manual
that is not the job of the database server because it can't use indexes for such things - just iterate the result and do it in the application
_______________________________________________ Mailing list: https://launchpad.net/~maria-discuss Post to : maria-discuss@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-discuss More help : https://help.launchpad.net/ListHelp
_______________________________________________ Mailing list: https://launchpad.net/~maria-discuss Post to : maria-discuss@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-discuss More help : https://help.launchpad.net/ListHelp
-- Roberto Spadim SPAEmpresarial Eng. Automação e Controle