- 情况1:取字符串前X位
用函数LEFT()
LEFT ( character_expression , integer_expression )SELECT LEFT([字段名],6) FROM DUAL;
- 情况2:取字符串后X位
用函数RIGHT()
RIGHT ( character_expression , integer_expression )
SELECT RIGHT([字段名],6) FROM DUAL;
- 情况3:取字符串中间位数,例如,取身份证号中的出生年月
用函数SUBSTRING()
SUBSTRING ( character_expression , start , length )
SELECT SUBSTRING([字段名],7,6) FROM DUAL;/*从第7位开始,取6个字符*/
4.字符串反转
反选reverse(),是将字段内容颠倒比如:
select reverse('SQL_Server_2012')
返回结果:2102_revreS_LQS
-
CHARINDEX 获取特殊字符 在 查找字符串 中的 索引 下标
CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] )expressionToFind :目标字符串,就是想要找到的字符串,最大长度为8000 。
expressionToSearch :用于被查找的字符串。
start_location:开始查找的位置,为空时默认从第一位开始查找。
--如果没有查到,则返回结果为0
---大小写敏感
select charindex('S','sql_server_2008' COLLATE Latin1_General_CS_AS)
返回结果:0
--基本用法
select charindex('s','sql_server_2008')
--返回结果:1
select charindex('s','sql_server_2008',3)
--返回结果:5
- LEN(STRING)
可以返回 字符串的长度
len('abcdefghijkl')
返回:12
