在 SQL Server 中,有没有办法搜索(和格式化)某个字符串的结果(如preg_match
在 PHP 中):
SELECT (IF (col1 contains 'http'){'<a>' + col 1 + '</a>'}
else {'<b>' + col1 + '</b>'}),
col2
FROM Table
... ETC。
这可能吗?我想根据内容格式化结果。
在 SQL Server 中,有没有办法搜索(和格式化)某个字符串的结果(如preg_match
在 PHP 中):
SELECT (IF (col1 contains 'http'){'<a>' + col 1 + '</a>'}
else {'<b>' + col1 + '</b>'}),
col2
FROM Table
... ETC。
这可能吗?我想根据内容格式化结果。
试试这个:
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
您可以尝试这样的事情(来自 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
我使用如下内容:
IF (my_column_name LIKE "%MATCHSTRING%", 1, 0) AS new_column_name,
如果您要进行完全匹配而不是包含,请不要使用 %