之前的一切,我需要做的是:"hi.my.name.is"
SQL SELECT點
輸出:
點之前選擇所有的 「喜」
財產以後這樣的:preg_replace('/^([^.]*).*$/', '$1', "hi.my.name.is");
但在SQL ..
之前的一切,我需要做的是:"hi.my.name.is"
SQL SELECT點
輸出:
點之前選擇所有的 「喜」
財產以後這樣的:preg_replace('/^([^.]*).*$/', '$1', "hi.my.name.is");
但在SQL ..
試試這個:
DECLARE @mystring varchar(30) = 'hi.my.name.is';
SUBSTR(@mystring, 0, CHARINDEX ('.', @mystring));
這隻適用於特定情況 – Aris
爲什麼?對我來說,它運作良好。 –
嘗試
SELECT SUBSTRING_INDEX('hi.my.name.is','.',1)
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_substring-index
這會幫助你的。
SELECT SUBSTR('hi.my.name.is', 0, INSTR('hi.my.name.is', '.')-1) AS output
FROM TABLENAME
這將輸出返回作爲hi
這不會給我任何東西,請複製麪食verbitum – DickieBoy
我認爲你錯過了標記。他的目標是將正則表達式應用於列。您的解決方案對於示例字符串非常具體,但不夠靈活,無法與充滿變化的整個數據庫競爭。 –
但是這個想法是他不會像我那樣把一個單獨的靜態字符串放在那裏。你可以很容易地將它變成一個正在動態設置的變量。 –
[SELECT SUBSTRING( '' 欄,1,LOCATE(山口) - 1)導致FROM表名(http://sqlfiddle.com/#! 2/7ca8c/5) –
從重複的問題來看,解決方案是使用一個用戶定義的函數,它可以在MySQL中引入正則表達式替換。這裏的答案是使用substr,它絕對不是使用正則表達式。我認爲他們錯過了這個標記......這正是你所要求的:https://launchpad.net/mysql-udf-regexp –