㈠ 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));