去掉空格方面
LTRIM(‘内容‘):去掉字符串左边的空格
RTRIM(‘内容‘):去掉右边的空格
LTRIM(RTRIM(‘内容‘)):去掉字符串左边和右边的空格
REPLACE(‘内容’,‘ ‘,‘‘):去掉字符串里所有的空格
查找替换方面
CHARINDEX(‘要查找的字符‘,‘要查找的内容‘) :如果找不要要查找的内容,则返回0,找到返回字符串所在的位置,索引从1开始
LEFT(‘要截取的字符串‘,‘截取长度‘):从左边开始截取
RIGHT(‘要截取的字符串‘,‘截取长度‘):从右边开始截取
PATINDEX(‘%[^a-zA-Z.-]%‘,‘内容‘),从左边开始查找,返回内容中含有该正则表所出现的位置,未找到返回0
ISNULL(‘内容‘,‘‘):判断字符串是否为null,是的话返回‘’
COALESCE(‘参数1‘,‘参数2‘):如果参数1值不为空就返回参数1,否则就返回参数2的值
ISDATE(‘内容‘):判断是否为时间格式,是的话返回1,否的话返回0
CASE WHEN 用法
SELECT 时间= CASE ISDATE(‘2015-1-1‘)
WHEN 1 THEN ‘时间格式正确‘
ELSE ‘非标准时间格式‘ END
CASE WHEN 多条件判断用法
SELECT 内容= CASE
WHEN ‘1232‘ like ‘%1%‘ THEN ‘1‘
WHEN ‘1232‘ like ‘%2%‘ THEN ‘2‘
WHEN ‘1232‘ like ‘%3%‘ THEN ‘3‘
ELSE NULL END
CASE WHEN 嵌套用法
SELECT
CASE CHARINDEX(‘/‘,时间1)
WHEN 0 THEN NULL
ELSE
CASE
WHEN CONVERT(INT,LEFT(时间1,2)) >=MONTH(GETDATE()) THEN CONVERT(VARCHAR(10),YEAR(getdate())) +‘-‘+REPLACE(时间1,‘/‘,‘-‘)
ELSE CONVERT(VARCHAR(10),YEAR(getdate())+1) +‘-‘+REPLACE(时间1,‘/‘,‘-‘)
END END AS 到港时间,