㈠ sql中返回当月月份,能返回2位的,比如2月返回02,而不是2
declare @month varchar(2)
--获取当前月份,此时是数字,如1,代表1月份
select @month=datepart(Month,getdate())
--使用right 函数获取最左边二位的字符串,如上面是1月份,那就变成001,再取右边二位
SET @month= RIGHT('00'+@month,2)
--打印出结果
print @month
㈡ sql server 2008 字段 X 表名 AA , X 的值 有 40501 40601 40701 如何取 X字段中数字的 第二位与第三位数
selectsubstring(X,2,2)fromAA;
利用substring函数
㈢ sql如何提取,从右边第一个为数字的字符,2为长度的字符串
我来回答吧: 下列sql语句我测试过, sql server版的,要是mysql需要转换下。可以Hi我
建立函数
create function myfn_GetInt(@str varchar(50))
returns varchar(50)
as
begin
if @str = ''
return ''
declare @r varchar(50), @index int, @temp varchar(2)
set @r = ''
set @index = len(@str)
set @temp = ''
while @index > 0
begin
set @temp = substring(@str,@index,1)
if '1234567890' not like '%'+@temp+'%'
begin
if @r <> ''
break
end
else
set @r = @r + @temp
set @index = @index - 1
end
set @r = REVERSE(@r)
return @r
end
执行函数,显示结果为 08
select dbo.myfn_GetInt('我出生于1979年08月十六日')
㈣ SQL查询一个字段中第二位和第三位为16的语句
SELECT * FROM TABLE WHERE B=SUBSTRING(A,2,3)='16'
㈤ SQL server 如何截取一个字符串中第2个'-'后面的字符
sql语句可以截取指定字段后面的字符串,以sqlserver为例,需要用到charindex函数和substring函数。
如test表中有如下数据,要求截图str字段中逗号后边的内容。
charindex函数说明:
语法:
CHARINDEX ( expression1 , expression2 , [ start_location ] )
参数:
expression1
一个表达式,其中包含要寻找的字符的次序。expression1 是一个短字符数据类型分类的表达式。
expression2
一个表达式,通常是一个用于搜索指定序列的列。expression2 属于字符串数据类型分类。
start_location
在 expression2 中搜索 expression1 时的起始字符位置。如果没有给定 start_location,而是一个负数或零,则将从 expression2 的起始位置开始搜索。
substring函数说明:
语法:
substring( expression, start,length)
参数:expression字符串、二进制字符串、文本、图像、列或包含列的表达式start整数或可以隐式转换为 int 的表达式,指定子字符串的开始位置length整数或可以隐式转换为 int 的表达式,指定子字符串的长度
㈥ 怎么用sql提取数字的第二个数字。比方说表table里的num列为111.233.444.等等。我想取每个数的第二个数
--substring和charindex配合使用
selectleft(right(num,len(num)-CHARINDEX('.',num)),charindex('.',right(num,len(num)-CHARINDEX('.',num)))-1)fromtable
㈦ sql 去掉字段最右边的两个数字
在导入的时候进行转换
在“选择源表与视图”步骤,点击“转换”列中相应的按钮,进入“映射列和转换”对话框,在“类型”列中,为每列调整数据类型,可以将默认的float类型调整为varchar类型
㈧ sql substring()从右边开始截取字符串
1、创建测试表,create table test_substr(value varchar2(200));