當前位置:首頁 » 編程語言 » sqlstr函數

sqlstr函數

發布時間: 2023-12-19 18:09:05

sql如何讓字元串與數值相加

您好,這樣寫,例表名為 table
update table set c = rtrim(a) + ltrim(str(b)) ;
兩個字元串連接用 『+』號,數值轉字元 str()函數,rtrim()去除後面空格,ltrim()去除前面空格

② SQL中統計字元串長度的函數是什麼

SQL中統計字元串長度的函數是:函數len(string)。

比如:

select len('abc')輸出3

select len('abcde')輸出5

字元串函數對二進制數據、字元串和表達式執行不同的運算。此類函數作用於CHAR、VARCHAR、 BINARY、 和VARBINARY 數據類型以及可以隱式轉換為CHAR 或VARCHAR的數據類型。可以在SELECT 語句的SELECT 和WHERE 子句以及表達式中使用字元串函數。
常用的字元串函數有:

  1. ASCII():返回字元表達式最左端字元的ASCII 碼值。在ASCII()函數中,純數字的字元串可不用『』括起來,但含其它字元的字元串必須用『』括起來使用,否則會出錯。

  2. CHAR():將ASCII 碼轉換為字元。如果沒有輸入0 ~ 255 之間的ASCII 碼值,CHAR() 返回NULL 。

  3. LOWER()和UPPER():LOWER()將字元串全部轉為小寫;UPPER()將字元串全部轉為大寫。

  4. STR():把數值型數據轉換為字元型數據。

    STR (<float_expression>[,length[, <decimal>]])

    length 指定返回的字元串的長度,decimal 指定返回的小數位數。如果沒有指定長度,預設的length 值為10, decimal 預設值為0。

    當length 或者decimal 為負值時,返回NULL;

    當length 小於小數點左邊(包括符號位)的位數時,返回length 個*;

    先服從length ,再取decimal ;

    當返回的字元串位數小於length ,左邊補足空格。

  5. LTRIM() 把字元串頭部的空格去掉。

  6. RTRIM() 把字元串尾部的空格去掉。

  7. left():LEFT (<character_expression>, <integer_expression>)返回character_expression 左起 integer_expression 個字元。

  8. RIGHT():RIGHT (<character_expression>, <integer_expression>)返回character_expression 右起 integer_expression 個字元。

  9. SUBSTRING():SUBSTRING (<expression>, <starting_ position>, length)返回從字元串左邊第starting_ position 個字元起length個字元的部分。

  10. CHARINDEX():返回字元串中某個指定的子串出現的開始位置。CHARINDEX (<』substring_expression』>, <expression>)

    其中substring _expression 是所要查找的字元表達式,expression 可為字元串也可為列名表達式。如果沒有發現子串,則返回0 值。

    此函數不能用於TEXT 和IMAGE 數據類型。

  11. PATINDEX():返回字元串中某個指定的子串出現的開始位置。PATINDEX (<』%substring _expression%』>, <column_ name>)其中子串表達式前後必須有百分號「%」否則返回值為0。與CHARINDEX 函數不同的是,PATINDEX函數的子串中可以使用通配符,且此函數可用於CHAR、 VARCHAR 和TEXT 數據類型。

  12. QUOTENAME():返回被特定字元括起來的字元串。QUOTENAME (<』character_expression』>[, quote_ character]) 其中quote_ character 標明括字元串所用的字元,預設值為「[]」。

  13. REPLICATE():返回一個重復character_expression 指定次數的字元串。REPLICATE (character_expression integer_expression) 如果integer_expression 值為負值,則返回NULL 。

  14. REVERSE():將指定的字元串的字元排列順序顛倒。REVERSE (<character_expression>) 其中character_expression 可以是字元串、常數或一個列的值。

  15. REPLACE():返回被替換了指定子串的字元串。REPLACE (<string_expression1>, <string_expression2>, <string_expression3>) 用string_expression3 替換在string_expression1 中的子串string_expression2。

  16. SPACE():返回一個有指定長度的空白字元串。SPACE (<integer_expression>) 如果integer_expression 值為負值,則返回NULL 。

  17. STUFF():用另一子串替換字元串指定位置、長度的子串。

  18. STUFF (<character_expression1>, <start_ position>, <length>,<character_expression2>):如果起始位置為負或長度值為負,或者起始位置大於character_expression1 的長度,則返回NULL 值。如果length 長度大於character_expression1 中 start_ position 以右的長度,則character_expression1 只保留首字元。

拓展資料:

SQL語言,是結構化查詢語言(Structured Query Language)的簡稱。SQL語言是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統;同時也是資料庫腳本文件的擴展名。

是高級的非過程化編程語言,允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同資料庫系統可以使用相同的結構化查詢語言作為數據輸入與管理的介面。SQL語言語句可以嵌套,這使他具有極大的靈活性和強大的功能。

③ SQL的str函數用法,最好帶實例,

返回由數字數據轉換來的字元數據。
語法:STR ( float_expression [ , length [ , decimal ] ] )

float_expression

帶小數點的數字 ( float) 數據類型的表達式。

length
總長度。它包括小數點、符號、數字以及空格。
默認值為 10。如果數字長度沒有指定的長,則前面會填充空格

decimal
小數點右邊的小數位數。decimal 必須小於等於 16。
如果 decimal 大於 16,則將結果截斷為小數點右邊的 16 位。
會進行四捨五入。

比如 SELECT STR(123.45, 30, 1)
返回前面帶有25個空格 的 123.5

④ sql編寫函數實現字元串倒序

create or replace function F_STR_CG(str in varchar2) return varchar2 is
Result varchar2(5000);
str_len int;
i int;
str1 varchar2(5000);
str2 varchar2(5000);
begin
select length(str) into str_len from al;
str1 := str;
for i in 1 .. str_len loop
select substr(str1, -1) into str2 from al;
result := result || str2;
select substr(str1, 1, str_len - i) into str1 from al;
end loop;
return(result);
end F_STR_CG;

Oracle資料庫的,你可以參考一下

⑤ 自己編寫sql函數

create function [dbo].[Get_StrArrayStrOfIndex]
(
@str varchar(1024), --要分割的字元串
@split varchar(10), --分隔符號
@index int --取第幾個元素
)
returns varchar(1024)
as
begin
declare @location int
declare @start int
declare @next int
declare @seed int

set @str=ltrim(rtrim(@str))
set @start=1
set @next=1
set @seed=len(@split)

set @location=charindex(@split,@str)
while @location<>0 and @index>@next
begin
set @start=@location+@seed
set @location=charindex(@split,@str,@start)
set @next=@next+1
end
if @location =0 select @location =len(@str)+1
--這兒存在兩種情況:1、字元串不存在分隔符號 2、字元串中存在分隔符號,跳出while循環後,@location為0,那默認為字元串後邊有一個分隔符號。

return substring(@str,@start,@location-@start)
end

使用舉例:
select id,code=dbo.Get_StrArrayStrOfIndex(code,'.',4) from code_table

⑥ 在SQL Server資料庫中拆分字元串函數

SQL Server資料庫中拆分字元串函數的具體方法

CREATE FUNCTION uf_StrSplit (@origStr varchar( ) 待拆分的字元串@markStr varchar( )) 拆分標記 如 RETURNS @splittable table( str_id varchar( ) NOT NULL 編號ID string varchar( ) NOT NULL 拆分後的字元串)ASBEGINdeclare @strlen int @postion int @start int @sublen int @TEMPstr varchar( ) @TEMPid intSELECT @strlen=LEN(@origStr) @start= @sublen= @postion= @TEMPstr= @TEMPid= if(RIGHT(@origStr )<>@markStr )beginset @origStr = @origStr + @markStrendWHILE((@postion<=@strlen) and (@postion != ))BEGINIF(CHARINDEX(@markStr @origStr @postion)!= )BEGINSET @sublen=CHARINDEX(@markStr @origStr @postion) @postion;ENDELSEBEGINSET @sublen=@strlen @postion+ ;ENDIF(@postion<=@strlen)BEGINSET @TEMPid=@TEMPid+ ;SET @TEMPstr=SUBSTRING(@origStr @postion @sublen);INSERT INTO @splittable(str_id string)values(@TEMPid @TEMPstr)IF(CHARINDEX(@markStr @origStr @postion)!= )BEGINSET @postion=CHARINDEX(@markStr @origStr @postion)+ ENDELSEBEGINSET @postion=@postion+ ENDENDENDRETURNEND

例如 select * from uf_StrSplit( )

輸出結果

lishixin/Article/program/SQLServer/201311/22421

熱點內容
官方版我的世界登錄網易伺服器 發布:2024-11-30 14:38:37 瀏覽:112
安卓手機沒電會出現什麼問題 發布:2024-11-30 14:37:31 瀏覽:983
unity3d加密dll 發布:2024-11-30 14:36:40 瀏覽:25
蘋果手機在哪裡可以置換安卓 發布:2024-11-30 14:36:34 瀏覽:468
php函數參數的傳遞參數 發布:2024-11-30 14:32:00 瀏覽:504
安卓手機怎麼聯系汽車 發布:2024-11-30 14:12:00 瀏覽:648
python代碼性能 發布:2024-11-30 14:11:57 瀏覽:678
php變數是否存在 發布:2024-11-30 13:53:00 瀏覽:954
數組下標過大編譯錯誤嗎 發布:2024-11-30 13:52:51 瀏覽:639
檢測5g信號密碼是多少 發布:2024-11-30 13:52:51 瀏覽:258