存儲過程字元串比較
1. sql存儲過程中時分秒字元串怎麼比較大小 如08:30:00 與13:00:00怎麼比較
TO_CHAR(date,』格式』);就是把時間轉化成字元串,然後就可以進行比較了
2. SQL SERVER 存儲過程對字元串的處理
--如果你的html代碼還算規律,下面的辦法可以實現,經過測試:
--自己再增加一些需要過濾的字元,如&bsp;等
declare@strvarchar(4000)--原字元
declare@outvarchar(4000)--結果字元
declare@indexint--位置
declare@index2int--位置
set@index=1--初始化
set@out=''--
set@str='<h2><strong>測<spanstyle="font-family:幼圓">試</span>復<spanstyle="font-size:small">雜</span>文</strong>本<u>郵</u><big>件</big></h2><p>請二位<sub>二</sub></p><ul><li>24112<sup>3<imgalt=""src="http://202.102.126.7/gloa/fckeditor/editor/images/smiley/msn/angel_smile.gif"/></sup></li></ul>'
set@str=replace('>'+@str+'<','','')--去掉空格;增加>、<,避免標簽不完整
whilelen(@str)>0and@index>0
begin
set@index=(selectcharindex('>',@str))
if(@index>0)
begin
set@str=substring(@str,@index+1,len(@str))
set@index2=(selectcharindex('<',@str))
set@out=@out+replace(substring(@str,0,@index2),'>','')--去掉多餘的>
end
end
print'結果:'+@out
3. 存儲過程中如何比較兩個nvchar字元串的大小
大小應該是INT類型的
4. 存儲過程中如何判斷兩個字元變數是否相等
直接判斷啊,if a =b then CASE1 else CASE@
5. oracle 存儲過程怎麼判斷一個欄位值不等於'true'或者『True』這個字元串
1、字元串比較 ='true'或='True'或<>'true'或<>'True'
2、另:true 和 false 應該不是關鍵字
6. 存儲過程如何 解析字元串
方法:
1.創建split函數(轉)
create function f_split(@SourceSql varchar(8000),@StrSeprate varchar(10))
returns @temp table(a varchar(100))
--實現split功能 的函數
--date :2005-4-20
--Author :Domino
as
begin
declare @i int
set @SourceSql=rtrim(ltrim(@SourceSql))
set @i=charindex(@StrSeprate,@SourceSql)
while @i>=1
begin
insert @temp values(left(@SourceSql,@i-1))
set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i)
set @i=charindex(@StrSeprate,@SourceSql)
end
if @SourceSql<>'\'
insert @temp values(@SourceSql)
return
end
用法:select * from dbo.f_split('A:B:C:D:E',':')
2.存儲過程
CREATE PROCEDURE InsertRecord
@Qstring varchar(50),
AS
insert into names(name1,name2,name3,name4) values
(select * from dbo.f_split(@Qstring,',')
3.調用存儲過程
7. SQL存儲過程 字元串問題
SET
ANSI_NULLS
ON
GO
SET
QUOTED_IDENTIFIER
ON
GO
ALTER
PROCEDURE
[dbo].[Test]
--@PageIndex
int,
@table
varchar(200),
@Sqlwhere
varchar(50)
--@Sqlorder
varchar(50),
as
declare
@sql
varchar(8000)
--set
@PageSize
=
5
set
@sql='select
*
from
'+@table+'
where
'+@Sqlwhere+'
order
by
Employee_ID
DESC'
exec(@sql)
8. 關於存儲過程中執行字元串
alter
proc
[dbo].[fun_query_pm]
@ii_pm_name
varchar(20)
as
begin
declare
@where
varchar(20)
begin
set
@where
=
'missaka'
set
@where
=
@where
+
@ii_pm_name
print
@where
print
@ii_pm_name
end
end
exec
p_test
'10011'
你把char換成varchar就可以顯示了,這主要是char是固定長度,當set
@where='misaka'時,
實際上@where中的位元組段已經填滿,後面空的被空格字元填滿,所以當你再進行連接的時候就沒位置連了,
當然不能連接了。用varchar就不會了