UPDATE[表名]SET[修改字段]=修改内容 WHERE 修改限定条件
--举例:将[Test].[dbo].[Test.Source]表中工号为20的员工工龄从“1”改为“2”UPDATE[Test].[dbo].[Test.Source]SET[工龄]=N'2'WHERE[工号]=N'20'
修改前:
修改后:
查询
--查询语句SELECT*FROM 表名
--查询指定列SELECT 表名.指定列名称1, 表名.指定列名称2FROM 表名
--查询条件SELECT*FROM 表名 WHERE 条件
--模糊查询SELECT*FROM 表名 WHERE 列名 LIKE 模糊值
--查询以A作为起始的数据SELECT*FROM 表名 WHERE 列名 LIKE'A%'--查询A*的数据SELECT*FROM 表名 WHERE 列名 LIKE'A_'--查询A**的数据SELECT*FROM 表名 WHERE 列名 LIKE'A__'--查询包含A的数据SELECT*FROM 表名 WHERE 列名 LIKE'%A%'--查询包含A或B的数据SELECT*FROM 表名 WHERE 列名 LIKE'[A,B]%'--查询除包含A和B以外的全部数据SELECT*FROM 表名 WHERE 列名 LIKE'[^A,B]%'--查询字段值为空的数据SELECT*FROM 表名 WHERE 列名 ISNULL--查询字段值非空的数据SELECT*FROM 表名 WHERE 列名 ISNOTNULL--范围查询SELECT*FROM 表名 WHERE 列名 BETWEEN MIN AND MAX
--查询前10条记录SELECTTOP10*FROM 表名
--允许脏读查询SELECT*FROM 表名 WITH(NOLOCK)
SQL 将查询的数据插入到另一张表中
查询源表中性别为“男”的所有行数据插入到目标表中
操作前:
操作后:
SQL 将JSON格式的数据转换后解析成SQL数据
DECLARE@input1 NVARCHAR(MAX)='{"AssociatedConditionDTO":[{"associateDimensionName":"dim_ghs1","id":"0","relevancy":"dim_ghs3.rowguid=dim_ghs1.rowguid "},{"associateDimensionName":"dim_ghs2","id":"1","relevancy":"dim_ghs3.salestaxrateid=dim_ghs2.salestaxrateid and dim_ghs3.stateprovinceid=dim_ghs2.stateprovinceid "}]}'CREATETABLE#1(output1 NVARCHAR(MAX))DECLARE@sqlStr NVARCHAR(MAX)SET@sqlStr='SELECT output1='''+REPLACE(@input1,'}]}','}]')+''''PRINT(@sqlStr)INSERTINTO#1 EXEC(@sqlStr)DECLARE@json1 NVARCHAR(MAX)SELECT*FROM#1SELECT SUBSTRING(output1, CHARINDEX(':[',output1)+1,LEN(output1)-CHARINDEX('":',output1))FROM#1SET@json1=(SELECT SUBSTRING(output1, CHARINDEX(':[',output1)+1,LEN(output1)-CHARINDEX('":',output1))FROM#1)SELECT*FROM OPENJSON(@json1)WITH(renameVARCHAR(50)'$.associateDimensionName',
id VARCHAR(15)'$.id',
relevancy VARCHAR(150)'$.relevancy')DROPTABLE#1
结果:
可以看出我们的代码有些冗长,接下来我们对代码进行优化。
DECLARE@input NVARCHAR(MAX)='{"AssociatedConditionDTO":[{"associateDimensionName":"dim_ghs1","id":"0","relevancy":"dim_ghs3.rowguid=dim_ghs1.rowguid "},{"associateDimensionName":"dim_ghs2","id":"1","relevancy":"dim_ghs3.salestaxrateid=dim_ghs2.salestaxrateid and dim_ghs3.stateprovinceid=dim_ghs2.stateprovinceid "}]}'--把最后的大括号去掉SET@input=REPLACE(@input,'}]}','}]')SELECT@input--从中括号出现的位置开始截取,到最后一位SET@input=SUBSTRING(@input,CHARINDEX('[',@input),1000)SELECT@inputPRINT(@input)--解析jsonSELECT*FROM OPENJSON(@input)WITH(renameVARCHAR(50)'$.associateDimensionName',
id VARCHAR(15)'$.id',
relevancy VARCHAR(150)'$.relevancy')