十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
sql中在where字句里截取字符方法如下:
平遥网站建设公司创新互联公司,平遥网站设计制作,有大型网站制作公司丰富经验。已为平遥1000多家提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的平遥做网站的公司定做!
1、如果是sqlserver:where left(p.end_time,4) = '2012'。
2、如果是Oracle:where substr(p.end_time,0,4) = '2012'。
举例:
1、oracle: 'where substr(字段名,1,2)='''123''''
2、sqlserver: 'where substring(字段名,1,2)='''123''''
扩展资料:
sql中,常用函数介绍:
1、AVG():返回平均值
2、COUNT():返回行数
3、FIRST():返回第一个记录的值
4、LAST():返回最后一个记录的值
5、MAX():返回最大值
6、MIN():返回最小值
7、SUM():返回总和
8、UCASE():将某个字段转换为大写
9、LCASE():将某个字段转换为小写
10、MID():从某个文本字段提取字符
11、LEN():返回某个文本字段的长度
12、ROUND():对某个数值字段进行指定小数位数的四舍五入
13、NOW():返回当前的系统日期和时间
14、FORMAT():格式化某个字段的显示方式
15、INSTR():返回在某个文本域中指定字符的数值位置
16、LEFT():返回某个被请求的文本域的左侧部分
17、RIGHT():返回某个被请求的文本域的右侧部分
参考资料来源:百度百科-SQL函数
1、LEFT() 从左边截
语法:LEFT(character,integer) 返回 从字符串左边开始 指定个数的字符
说明:参数1:要截取的字符串,参数2:截取字符个数
示例:selectLEFT('SqlServer_2008',3)
结果:Sql
2.RIGHT() 从右边截
语法:RIGHT(character,integer) 返回 从字符串右边开始 指定个数的字符
说明:参数1:要截取的字符串,参数2:截取字符个数
示例:selectLEFT('SqlServer_2008',4)
结果:2008
3.SUBSTRING() 中间截
语法:SUBSTRING(character,start,length) 返回从字符串 中间 的字符
说明:参数1:要截取的字符串,参数2:开始截取的位数,参数3:要截取的字符长度
示例:selectSUBSTRING('SqlServer_2008',4,6)--4)
结果:Server
以上。
感谢二位!
返回一个新的字符串,它是此字符串的一个子字符串。该子字符串始于指定索引处的字符,一直到此字符串索引末尾。在SQLserver数据库中,用于截取字符串的某部分。
subString的用法
public static void main(String[] args) {
// substring(beginIndex,endindex); 根据索引用来截取 String 类型的值 返回一个新的字符串
// 参数: beginIndex - 开始处的索引(包括)。
// endindex 结尾处索引(不包括)。
String s="abcdef"; //重
s= s.substring(1,5);
System.out.println(s);
}
substring双语例句
The Substring function will extract text from a source string.
Substring函数将从一个源字符串中提取文本。
Improved Algorithm for BM String Matching Based on Prefix Substring
基于前缀的BM串匹配改进算法
Scalable Distributed Data Structure for Substring Searching
具有子串检索功能的可扩展分布式数据结构
Returns the index of the first character of a specified substring in a string.
返回指定子串首字符在串中的索引。
The length argument specifies the length of the desired substring.
长度参数指定了所需子字符串的长度。
不管哪个库,sql中一般都支持substring 或者它的变种 substr left right mid等
1.将字符串中从某个字符开始截取一段字符,替换成另一字符
select stuff('helloworld!',4,4,'****')
hel****rld!
2.指定字符串起始位置,截取指定长度
select substring('helloworld!',4,5)
lowor
3.替换指定字符串
select replace('helloworld!','ld','aa')
helloworaa!
4.去除字符串两端空格
select ltrim(' helloworld!')
helloworld!
5.用0替换NULL【isnull( )】
select ISNULL(KCRKD2_SCDDLS,0) from KCRKD2
返回0
6.取字符串,再转化为整数
select convert(float,substring(xsddmx_wlbh,6,3)) from XSDDMX
7.字符串前三个是固定的,后面长度是变化的用LEN()取字符串长度,去掉前三个字符(截取右端固定字符数换成LEFT)
SELECT RIGHT(KCRKD3_JH,LEN(KCRKD3_JH)-3) FROM KCRKD3
返回B160459B01487
8.从‘-’向后截取8位字符(charindex()返回字符位置)
select SUBSTRING('E03AHJC-E1701005020184',charindex('-','E03AHJC-E1701005020184')+1,8)
9. replace将‘h’替换
SELECT REPLACE('Hello,World!','h','2') 2ello,World!
SELECT REPLACE('Hello,World!','h','') ello,World!
SELECT REPLACE('Hello,World!',' ','2') Hello,World!
10.复制字符
select REPLICATE('Hello,World!',3)
时间函数
1.截取两个时间的时间差
select DATEDIFF(D,TMBASE_DATE,GETDATE()) from TMBASE
有时我们会临时写一些SQL脚本来统计一些东西,或者是提供视图或者存储过程给第三方使用。但是有些内容是串联起来存在一个字段中的。
比如:sMZ(民族) sLx(联系方式)
01/汉族 tel:123456/qq:87654321/phone:13812345678
SELECT SUBSTRING('01/汉族',4,2) 汉族
SELECT RIGHT('01/汉族',2) 汉族 --也是一样的
取民族很简单 如果要取手机号phone 就比较麻烦了,因为我们不知道QQ是几位的
或者qq电话可能没有填写了,单纯依靠字段长度截取不了的。
这样就需要变通下了:
SELECT SUBSTRING('tel:123456/qq:87654321/phone:13812345678',
charindex('/phone','tel:123456/qq:87654321/phone:13812345678')+1,1000)
使用charindex获取'/phone'字符的其实位置 嵌套SUBSTRING截取
如果在MySQL中还可以这样:
substring_index('tel:123456/qq:87654321/phone:13812345678', '/', -1)
'phone:13812345678' 截取第一个 '/' (倒数)之后的所有字符
substring_index('tel:123456/qq:87654321/phone:13812345678', '/', 1)
'tel:123456' 截取第一个 '/' 之前的所有字符