在SQL Server中,有没有办法搜索(和格式化)某个字符串的结果(如PHP中的preg_match
):
SELECT (IF (col1 contains 'http'){'<a>' + col 1 + '</a>'}
else {'<b>' + col1 + '</b>'}),
col2
FROM Table
......等等。
这可能吗?我想根据内容格式化结果。
答案 0 :(得分:17)
试试这个:
SELECT CASE WHEN col1 LIKE '%http%' THEN '<a>' + col1 + '</a>' ELSE '<b>' + col1 + '</b>' END AS 'Desired Column Name', col2
FROM table
请在此处查看MSDN文档:http://msdn.microsoft.com/en-us/library/ms181765.aspx
答案 1 :(得分:1)
你可以尝试这样的东西(来自AdventureWorks数据库)
SELECT Title,
FirstName,
LastName,
CASE
WHEN LastName LIKE 'G%' THEN '<a href="mailto:' + EmailAddress + '">' + LastName + '</a>'
ELSE '<b>' + LastName + '</b>'
END
FROM SalesLT.Customer
答案 2 :(得分:0)
我使用类似以下内容:
IF (my_column_name LIKE "%MATCHSTRING%", 1, 0) AS new_column_name,
如果您要进行精确匹配而不是包含,请不要使用 %