MsSql 中 表Test 字段 Ts是Xml类型 Xml结构如下
<Ts IsDel=”True” IsEdit=”False” IsAdd=”False”…./>
CREATE FUNCTION IsCan
(
@Name Nvarchar(50))
RETURNS bit
创建函数IsCan依据参数 @Name(对应Ts的属性)返回属性值
<Ts IsDel=”True” IsEdit=”False” IsAdd=”False”…./>
CREATE FUNCTION IsCan
(
@Name Nvarchar(50))
RETURNS bit
创建函数IsCan依据参数 @Name(对应Ts的属性)返回属性值
解决方案 »
- SQL2000卸不掉
- 关于分类显示的一个小问题
- MS-SQL中查询时间差数据的问题
- 关于SQL SERVER2005汉化包?
- 怎么把多个字段连接成一个字段?
- 大家帮看看我的这个SQL语句有什么问题?
- FOXPRO关于票据打印的简单问题
- 在PowerDesigner9中如何为字段设置默认值为Getdate()以及其他MSSql的函数??
- 各位大虾救命,请教远程连接设置为windows anth的sqlserver7.0的办法,高分相赠。
- 和数据库高手讨论一下数据库效率
- sql server2000内如何把varchar类型改成text类型,急救命啊!!!!!!!!!!!!!!
- 怎样使varchar转换成DECIMAL并保留六位小数谢谢
DECLARE @doc xml;
SET @doc='<Ts IsDel="True" IsEdit="False" IsAdd="False" />'DECLARE @name NVARCHAR(50)
SET @name='IsEdit'SELECT @doc.value('(/Ts/@*[local-name()=sql:variable("@name")])[1]','varchar(50)')
INSERT tb VALUES(1,'<Ts IsDel="True" IsEdit="False" IsAdd="False" />' )
INSERT tb VALUES(2,'<Ts IsDel="False" IsEdit="False" IsAdd="False" />' )
INSERT tb VALUES(3,'<Ts IsDel="True" IsEdit="True" IsAdd="True" />' )
INSERT tb VALUES(4,'<Ts IsDel="True" IsEdit="False" IsAdd="False" />' )
GOCREATE FUNCTION dbo.IsCan(@id INT,@Name NVARCHAR(50))
RETURNS bit
AS
BEGIN
DECLARE @re NVARCHAR(20)
SELECT
@re=ts.value('(/Ts/@*[local-name()=sql:variable("@name")])[1]','NVARCHAR(20)')
FROM tb
WHERE id=@id
RETURN CASE WHEN @re='True' THEN 1 ELSE 0 END
ENDGOSELECT
id,
ts,
dbo.IsCan(id,'IsDel') AS IsDel,
dbo.IsCan(id,'IsEdit') AS IsEdit,
dbo.IsCan(id,'IsAdd') AS IsAdd
FROM tbGO
DROP TABLE tb/*
id ts IsDel IsEdit IsAdd
----------- ------------------------------------------------ ----- ------ -----
1 <Ts IsDel="True" IsEdit="False" IsAdd="False" /> 1 0 0
2 <Ts IsDel="False" IsEdit="False" IsAdd="False" /> 0 0 0
3 <Ts IsDel="True" IsEdit="True" IsAdd="True" /> 1 1 1
4 <Ts IsDel="True" IsEdit="False" IsAdd="False" /> 1 0 0(4 行受影响)
*/
这个网站是ASP.NET的吗?