SQL 实用函数
假设查询地市,传参是一字符串,如'北京,上海,广州,深圳'
CREATE FUNCTION [dbo].[varcharmax2table] ( @value VARCHAR(MAX) , @separator VARCHAR(255) ) RETURNS TABLE AS RETURN SELECT LTRIM(RTRIM(b.value)) value FROM ( SELECT CONVERT(XML, '<v>' + REPLACE(@value, @separator, '</v><v>') + '</v>') value ) a OUTER APPLY ( SELECT N.v.value('.', 'varchar(max)') value FROM a.value.nodes('/v') N ( v ) ) b WHERE LTRIM(RTRIM(b.value)) <> '' GO
select * from table1 where city in ( select value from dbo .varcharmax2table('北京,上海,广州,深圳', ','))
结果可拆分出:
北京
上海
广州
深圳
作者:EminemJK(山治先生)
出处:https://www.cnblogs.com/EminemJK/
您的支持是对博主最大的鼓励👍,感谢您的认真阅读。
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。