您当前的位置:首页 > 互联网教程

sql中如何在where字句里截取某个字段的前几位字符

发布时间:2025-05-13 23:07:53    发布人:远客网络

sql中如何在where字句里截取某个字段的前几位字符

一、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字段提取拼音字母目前工作中