sql中如何在where字句里截取某个字段的前几位字符
发布时间:2025-05-13 23:07:53 发布人:远客网络
一、sql中如何在where字句里截取某个字段的前几位字符
sql中在where字句里截取字符方法如下:
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''''
3、FIRST():返回第一个记录的值
4、LAST():返回最后一个记录的值
8、UCASE():将某个字段转换为大写
9、LCASE():将某个字段转换为小写
10、MID():从某个文本字段提取字符
11、LEN():返回某个文本字段的长度
12、ROUND():对某个数值字段进行指定小数位数的四舍五入
13、NOW():返回当前的系统日期和时间
14、FORMAT():格式化某个字段的显示方式
15、INSTR():返回在某个文本域中指定字符的数值位置
16、LEFT():返回某个被请求的文本域的左侧部分
17、RIGHT():返回某个被请求的文本域的右侧部分
参考资料来源:百度百科-SQL函数
二、sql截取指定字符前面
sqlserver截取某个特定字符前的字符串
left(列名,charindex(特定字符,列名)-1)
left(列名,charindex(特定字符,列名)-1)
left:返回从左边开始指定字符串
charindex:找到特定并返回字符所在位置
select?left(case_name,charindex('_',case_name)-1)fromtable1?wherecharindex('_',case_name)-10
注意:不加where后面的条件会报“传递给LEFT或SUBSTRING函数的长度参数无效”的错误。
SUBSTRING_INDEX(字符串,特定字符,第几个字符);
字符串:危害一旦发生能及时发现,并定期进行监测或现场有防范控制措施,并能有效执行,或过去偶尔发生危险事故或事件。(2.00)
结果:危害一旦发生能及时发现,并定期进行监测或现场有防范控制措施,并能有效执行,或过去偶尔发生危险事故或事件。
SUBSTRING_INDEX(字符串,特定字符,第几个字符);
字符串:危害一旦发生能及时发现,并定期进行监测或现场有防范控制措施,并能有效执行,或过去偶尔发生危险事故或事件。(2.00)
结果:危害一旦发生能及时发现,并定期进行监测或现场有防范控制措施,并能有效执行,或过去偶尔发生危险事故或事件。
注意:这里将正数改为负数,即可获取特定字符后面的字符串
SQL查询的时候截取字段在逗号前的部分
1、查询数据库表所有的字段,直接利用select语句。
1、查询数据库表所有的字段,直接利用select语句。
2、查询数据库表部分字段,可以利用select字段命令,select字段名from数据库表。
3、按照条件查询,利用where后面加条件,select字段名from数据库表where条件。
4、查询数据库字段记录不重复的结果,利用distinct?命令。
5、查询数据库表数据前多少条,可以利用top命令,selecttop数字*from数据库表。
6、查询数据库表有时为了区分字段,需要给字段起个别名,可以利用as,select字段名as字段名from数据库表。
sql中,使用LEFT函数即可取到字符串的前几位。
LEFT(c,number_of_char)用于返回某个被请求的文本域的左侧部分,其中c代表被请求的文本域,number_of_cha代表需要取出的字符串位数。如“LEFT("zhidao.baidu.com",6)”即可取得字符串"zhidao"。
3、FIRST():返回第一个记录的值
4、LAST():返回最后一个记录的值
8、UCASE():将某个字段转换为大写
9、LCASE():将某个字段转换为小写
10、MID():从某个文本字段提取字符
11、LEN():返回某个文本字段的长度
12、ROUND():对某个数值字段进行指定小数位数的四舍五入
13、NOW():返回当前的系统日期和时间
14、FORMAT():格式化某个字段的显示方式
15、INSTR():返回在某个文本域中指定字符的数值位置
16、LEFT():返回某个被请求的文本域的左侧部分
17、RIGHT():返回某个被请求的文本域的右侧部分
参考资料来源:百度百科-SQL函数
三、SQLServer字段提取拼音首字母
1、目前工作中遇到一个情况,需要将SQL Server中的一个字段提取拼音的首字母,字段由汉字、英文、数字以及-构成,百度了一堆,找到如下方法,记录一下,以备后用!首先建立一个函数--生成拼音首码 CREATE function fn_GetPy(@str nvarchar( 4000
2、目前工作中遇到一个情况,需要将SQL Server中的一个字段提取拼音的首字母,字段由汉字、英文、数字以及“-”构成,百度了一堆,找到如下方法,记录一下,以备后用!
3、--生成拼音首码 CREATE function fn_GetPy(@str nvarchar(4000)) returns nvarchar(4000)--WITH ENCRYPTION as begin declare@intLen int declare@strRet nvarchar(4000) declare@temp nvarchar(100) set@intLen= len(@str) set@strRet='' while@intLen>0 begin set@temp='' select@temp= case when substring(@str,@intLen,1)>='帀' then'Z' when substring(@str,@intLen,1)>='丫' then'Y' when substring(@str,@intLen,1)>='夕' then'X' when substring(@str,@intLen,1)>='屲' then'W' when substring(@str,@intLen,1)>='他' then'T' when substring(@str,@intLen,1)>='仨' then'S' when substring(@str,@intLen,1)>='呥' then'R' when substring(@str,@intLen,1)>='七' then'Q' when substring(@str,@intLen,1)>='妑' then'P' when substring(@str,@intLen,1)>='噢' then'O' when substring(@str,@intLen,1)>='拏' then'N' when substring(@str,@intLen,1)>='呒' then'M' when substring(@str,@intLen,1)>='垃' then'L' when substring(@str,@intLen,1)>='咔' then'K' when substring(@str,@intLen,1)>='丌' then'J' when substring(@str,@intLen,1)>='铪' then'H' when substring(@str,@intLen,1)>='旮' then'G' when substring(@str,@intLen,1)>='发' then'F' when substring(@str,@intLen,1)>='妸' then'E' when substring(@str,@intLen,1)>='咑' then'D' when substring(@str,@intLen,1)>='嚓' then'C' when substring(@str,@intLen,1)>='八' then'B' when substring(@str,@intLen,1)>='吖' then'A' else rtrim(ltrim(substring(@str,@intLen,1))) end--对于汉字特殊字符,不生成拼音码 if(ascii(@temp)>127) set@temp=''--对于英文中小括号,不生成拼音码 if@temp='(' or@temp=')' set@temp='' select@strRet=@temp+@strRet set@intLen=@intLen- 1 end return lower(@strRet) end
4、SELECT需转换中文字段, dbo.fn_GetPy(中文字段) AS列别名FROM表名称
5、感谢:Luckeryin标签 SQL Server字段提取拼音字母目前工作中