Select
DB2 中的 CHARINDEX 等效項
我正在嘗試從我擁有電子郵件地址的列中選擇域。
例如,我有一個表 email_table 和一個列 email ,其電子郵件地址如下。
johndoe@gmail.com jhefid@yahoo.com ipw@gmx.com
預期結果
gmail.com yahoo.com gmx.com
這是我嘗試使用 CHARINDEX 的查詢,該查詢在 SQL Server 中有效,但在 DB2 中無效。
select CHARINDEX('@', email) from email_table
它
LOCATE
(在 DB2 中)相當於CHARINDEX
在 SQL Server 中。這是它的完整描述和範例。
謝謝!
在 Db2 (for LUW) V11.1 及更高版本中,您可以使用
REGEXP_EXTRACT
例如
SELECT REGEXP_EXTRACT(c,'@(.*)$',1,1,'',1) FROM TABLE( VALUES ('johndoe@gmail.com') ,('jhefid@yahoo.com') ,('ipw@gmx.com') ) AS t(c)
返回
1 ----------------- gmail.com yahoo.com gmx.com 3 record(s) selected.