我是SQL新手,我想知道如何找到特殊字符之間的單詞?例如,我想從RAM @ gmail.com得到Gmail,雅虎,RAM @ yahoo.comSQL - 如何獲取SQL中特殊字符之間的單詞
-3
A
回答
0
嘗試如下: (變量)
DECLARE @MAIL VARCHAR(200)='[email protected]'
SET @MAIL=(SUBSTRING(REVERSE(@MAIL),CHARINDEX('.',REVERSE(@MAIL))+1,LEN(@MAIL)))
SELECT (SUBSTRING(REVERSE(@MAIL),CHARINDEX('@',REVERSE(@MAIL))+1,LEN(@MAIL)))
或 (列表)
CREATE TABLE mails (MAIL VARCHAR(MAX))
INSERT INTO mails VALUES ('[email protected]')
INSERT INTO mails VALUES ('[email protected]')
SELECT SUBSTRING((SUBSTRING(MAIL,CHARINDEX('@',MAIL)+1,LEN(MAIL))),0,CHARINDEX('.',(SUBSTRING(MAIL,CHARINDEX('@',MAIL)+1,LEN(MAIL))))) FROM mails
0
假設你正在使用Oracle:
select regex_replace(email,'.*@([^\.]*).*)', '\1') from my_table;
0
您可以使用用戶定義函數來分割字符串一樣:
CREATE FUNCTION [dbo].[str__split](
@str NVARCHAR(MAX)
,@delimiter NVARCHAR(MAX)
)
RETURNS @split TABLE(
[str] NVARCHAR(MAX)
)
AS
BEGIN
INSERT INTO @split(
[str]
)
SELECT
[X].[C].[value]('(./text())[1]', 'nvarchar(4000)')
FROM
(
SELECT
[X] = CONVERT(XML, '<i>' + REPLACE(@str, @delimiter, '</i><i>') + '</i>').query('.')
) AS [A]
CROSS APPLY
[X].[nodes]('i') AS [X]([C]);
RETURN;
END
,然後使用查詢讓您的數據:
SELECT
LEFT([str], CHARINDEX('.', [str]) -1)
FROM
[dbo].[str__split](@email, '@')
WHERE
CHARINDEX('.', [str]) <> 0;
可以在表中查詢使用,不超過一個變量只要。 (可變)
0
你好我認爲這是商業的事情,所以你最有可能,但它在代碼部分不在數據庫部分,你可以處理它如此之快易 然而
SELECT RIGHT(Email, LEN(Email) - CHARINDEX('@', email)) Domain ,
COUNT(Email) EmailCount
FROM dbo.email
WHERE LEN(Email) > 0
GROUP BY RIGHT(Email, LEN(Email) - CHARINDEX('@', email))
ORDER BY EmailCount DESC
,如果你需要更多的描述,你可以在這個網站找到它
http://blog.sqlauthority.com/2011/06/18/sql-server-selecting-domain-from-email-address/
0
甲骨文
select regexp_substr(email,'@([^.]+)',1,1,'',1) from mytable
相關問題
- 1. 獲取第一2特殊字符之間的字符在SQL
- 2. sql從DB2獲取特殊字符
- 3. SQL中的特殊字符
- 4. SQL中的特殊字符
- 5. SQL特殊字符
- 6. sql在特定單詞之間搜索字符串
- 7. 刪除特殊字符和單詞之間的空格python
- 8. 如何從oracle中的字符之間獲取文本sql
- 9. SQL SERVER如何轉義特殊字符
- 10. 如何獲得SQL輸出中的特殊字符
- 11. SQL中的varchar中的特殊字符
- 12. SQL LIKE有特殊字符
- 13. 刪除特殊字符SQL
- 14. 手柄SQL特殊字符
- 15. 捕獲python中2個字符之間的特殊字符串
- 16. 如何刪除單個單詞/變量中的特殊字符
- 17. SQL Server T-SQL搜索特殊字符
- 18. 在SQL中,如何在2個特殊字符之間進行子串處理?
- 19. 如何在兩個單詞/字符之間獲取文本
- 20. 刪除SQL中的特殊字符
- 21. 識別SQL列中的特殊字符
- 22. 轉義SQL中的特殊字符
- 23. 替換SQL 2000中的特殊字符
- 24. 提取字符向量中兩個特定單詞之間的所有單詞
- 25. 如何從PHP中的字符串中獲取特定單詞?
- 26. 如何提取了兩個特殊字符之間的字符串中TSQL
- 27. 如何在tsql中的特殊字符之間提取字符串
- 28. 獲取Ruby字符串中特定單詞後的單詞嗎?
- 29. 分詞的特殊字符
- 30. VB.NET:從單詞之間的行中獲取字符串
您使用的是MS SQL Server還是Oracle? (答案將取決於您使用的產品。) – jarlh