--Oracle: DECLARE n_count int; begin Select count(*) into n_count from from M_Test where ENTITYLSH = 1; dbms_output.put_line(n_count); end; --sql server: declare @is_exist_alert3 int; Select @is_exist_alert3=count(*) from M_Test where ENTITYLSH = 1;
使用的是SQLserver数据库测试,其他数据库类似. 默认排序是按ID进行排序的 select stu_id ,stu_name from student order by stu_id. 现在需要按姓名排序,姓名数据类型是字符,但里面的内容数字. 如果不是纯数字,无法进行强制转换 select stu_id ,stu_name from student order by right ('0000000000'+stu_name,10)
Select A,B,C from Tb1 –查询所有 Select A,replace(B,’1’,’壹’),C from Tb1 替换查询 Tb1 A B C AA1 1 CC AA2 2 CC AA3 3 CC 有什么方法 同时 把1替换为壹 把 2替换贰,把3替换叁 select CASE B ' THEN '壹' ' THEN '贰' ELSE '其他' END from Tb1 as c1, 'abc' as c2 , '' as c3 from Tb1 --虚拟列
--create-- 去掉特殊符号alter function RepSymbol(@str nvarchar(max))returns nvarchar(max)as begin set @str=LTRIM(@str) set @str=RTRIM(@str) set @str=replace(@str,char(9),'') --水平制表符 set @str=replace(@str,char(10),'') -- 换行 set @str=replace(@str,char(13),'')
CREATE FUNCTION [dbo].[StringExtractNumber(FirstOrLast)](@address nvarchar(max),@firstOrLast INT) returns INT as BEGIN DECLARE @returnInt VARCHAR(20) IF @firstOrLast=1 SET @returnInt= REVERSE(SUBSTRING( STUFF(reverse(@address),1,PATINDEX('%[0-9]%',re
SQL Server 中字符类型包括varchar.char.text等.主要用于存储字符数据.varchar和char类型的主要区别在于数据填充.例如,一个列名为FirstName且数据类型为varchar(20)的表,同时将值Brian存储到列FirstName中,那么物理上只存储5个字节.但如果在数据类型为char(20)的列中存储相同的值,将使用全部的的20个字节.SQL将插入拖尾空格来填满20个字符. 注:有这么一个问题,如果要节省空间,那么为什么还要使用char数据类型呢?这是因为使
sql server replace的替换字符,replace的使用 select REPLACE(name,'张','') * from entity_5c7a578c05c7042958d91485_goods select REPLACE(列名,'匹配的字符',‘想换成的字符’),* from product