精华内容
下载资源
问答
  • SQL Server 动态SQL拼接

    千次阅读 2019-03-31 22:54:38
    方法一:使用 SQL Server中的存储过程(StoredProcedure),在存储过程中拼接SQL,SQL拼接的语句为字符串,当我们去拼接Guid等特殊类型时就需要去转换成字符串,如果直接拼接,SQL会直接报错。 具体如下: ALTER P.....

    在多选项综合搜索数据时,大多会使用到动态SQL搜索,当搜索栏目中存在string,Guid,decimal等类型数据时,要注意拼接时数据类型转换,方法如下:

    方法一:使用 SQL Server中的存储过程(StoredProcedure),在存储过程中拼接SQL,SQL拼接的语句为字符串,当我们去拼接Guid等特殊类型时就需要去转换成字符串,如果直接拼接,SQL会直接报错。
    具体如下:

    ALTER PROCEDURE [dbo].[GetProductList]
    (
    	@ProductID uniqueidentifier,
    	@Price decimal(18, 2),
    	@Description varchar(max)
    )
    AS
    BEGIN
    	Declare @strSql varchar(max);
    	--SQL拼接
    	SET @strSql='SELECT ProductID,Name,Price,Description FROM [test].[dbo].[Product] WHERE 1=1'
    	
    	IF(@ProductID is not null)
    		begin 
    			SET @strSql=@strSql+' AND ProductID= ''' +convert(varchar(36),@ProductID)+ ''''    --Guid类型转换
    		end  
    	IF(@Description!='')
    		begin 
    			SET @strSql=@strSql+' AND Description like ''%'+@Description+'%'''
    		end 
    
    	EXEC(@strSql)
    END
    

    方法二:直接在后台代码中,拼接SQL后,去执行SQL
    具体如下:

    public static void SQLFunction(Product product) {
    			//SQL拼接
                string sql = "SELECT ProductID,Name,Price,Description FROM [test].[dbo].[Product] WHERE 1=1";
                if (product.ProductID!=null) {
                    sql = sql + " AND ProductID='"+ product.ProductID + "'";
                }
                if (product.Description != "") {
                    sql = sql + " AND Description like '%" + product.Description + "%'";
                }
                using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["SQLConnection"].ConnectionString))
                using (SqlCommand cmd = new SqlCommand())
                {
                    cmd.CommandType = CommandType.Text;            
                    cmd.CommandText = sql;
                    cmd.Connection = conn;
                    conn.Open();
               
                    SqlDataReader reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        Product pro = new Product();                   
                        pro.Description = reader["Description"].ToString();
                        //...
                    }
                }
            }
    
    展开全文
  • Sqlserver游标拼接

    2017-10-23 10:30:49
    Sqlserver游标拼接学习,简单的游标学习,直接exec执行查看结果
  • SQL server拼接

    千次阅读 2019-06-13 11:32:06
    SQL server中列拼接很简单 ,使用“”+“” 就可以。 比如 我们有humres 这张表 有objname,duty 这两个字段,要将这两列当做一列查出来 ,使用 + 就可以 select objname+duty from humres 但是如果其中有一...

    在SQL server中列拼接很简单 ,使用“”+“” 就可以。

    比如 我们有  humres 这张表  有 objname,duty 这两个字段,要将这两列当做一列查出来 ,使用  +  就可以

    select objname+duty from humres

     但是如果其中有一列是null的话 拼接的结果会是什么呢?

    select objname,workaddr,objname+workaddr as 'name+workaddr' from humres

    执行结果

    当有一列为  null 时整个拼接结果都为null。 

    展开全文
  • sql如何拼接字段值 sqlserver: 1 select '123'+'456'; oracle: 1 2 3 select '123'||'456' from dual; 或 select concat('123','...

    sql如何拼接字段值

    sqlserver:

    1
    select  '123' + '456' ;

    oracle

    1
    2
    3
    select  '123' || '456'  from  dual;
    select  concat( '123' , '456' from  dual;

    mysql:

    1
    select  concat( '123' , '456' );

    注意:oracle和mysql中虽然都有concat,但是oracle中只能拼接2个字符串,所以建议用||的方式;mysql中的concat则可以拼接多个字符串。

    cast下面是引用网上的,大家自己查下,大概的意思是强制类型转换


    语法:


    CAST (expression AS data_type)


    参数说明:


    expression:任何有效的SQServer表达式。


    AS:用于分隔两个参数,在AS之前的是要处理的数据,在AS之后是要转换的数据类型。


    data_type:目标系统所提供的数据类型,包括bigint和sql_variant,不能使用用户定义的数据类型。

     

    使用CAST函数进行数据类型转换时,在下列情况下能够被接受:


    (1)两个表达式的数据类型完全相同。
    (2)两个表达式可隐性转换。
    (3)必须显式转换数据类型。


    如果试图进行不可能的转换(例如,将含有字母的 char 表达式转换为 int 类型),SQServer 将显示一条错误信息。
    如果转换时没有指定数据类型的长度,则SQServer自动提供长度为30。


    注意事项:

    (1).CAST()函数的参数是一个表达式,它包括用AS关键字分隔的源值和目标数据类型。以下例子用于将文本字符串'12'转换为整型:

    SELECT CAST('12' AS int)

    (2).返回值是整型值12。如果试图将一个代表小数的字符串转换为整型值,又会出现什么情况呢?

    SELECT CAST('12.5' AS int)

    (3).CAST()函数和CONVERT()函数都不能执行四舍五入或截断操作。由于12.5不能用int数据类型来表示,所以对这个函数调用将产生一个错误:

    Server: Msg 245, Level 16, State 1, Line 1

    Syntax error converting the varchar value

        '12.5' to a column of data type int.

    (4).要返回一个合法的数值,就必须使用能处理这个值的数据类型。对于这个例子,存在多个可用的数据类型。如果通过CAST()函数将这个值转换为decimal类型,需要首先定义decimal值的精度与小数位数。在本例中,精度与小数位数分别为9 与2。精度是总的数字位数,包括小数点左边和右边位数的总和。而小数位数是小数点右边的位数。这表示本例能够支持的最大的整数值是9999999,而最小的小数是0.01。

    SELECT CAST('12.5' AS decimal(9,2))

    decimal数据类型在结果网格中将显示有效小数位: 12.50

    (5).精度和小数位数的默认值分别是18与0。如果在decimal类型中不提供这两个值,SQL Server将截断数字的小数部分,而不会产生错误。

    SELECT CAST('12.5' AS decimal)

        结果是一个整数值:12



    这样就可以把字段给拼接起来了

    展开全文
  • sqlserver 拼接字段

    万次阅读 2018-06-15 16:34:08
    SELECT convert(varchar(10),playerid_1) + '_' + convert(varchar(10),playerid_2) from [Game_Main].[dbo].[ab_niuniu_club_record] where date_time<'2017-12-06 14:05:55.000'
    SELECT  convert(varchar(10),playerid_1) + '_' + convert(varchar(10),playerid_2)  
    from [Game_Main].[dbo].[ab_niuniu_club_record] 
    where date_time<'2017-12-06 14:05:55.000'
    

    想转型做一名爬虫架构师的朋友,推荐学习!
    扫码下单输优惠码【csdnfxzs】再减5元,比官网还便宜!

    展开全文
  • sqlserver 字段拼接

    千次阅读 2009-05-08 10:03:00
    创建计算字段这章主要介绍字段的拼接,将多个字段组合或变换成你想要的形式。...Access,SqlServer,Sybase用+号;DB2,PostgreSql,Oracle,Sysbase用||,而Mysql使用concat方法.一般而言,||是首选语法。3.
  • sql server拼接字符串查询语句。 普通拼接字符串和拼接某一列的所有值。
  • SQL Server 存储过程SQL语句的拼接
  • SQL SERVER拼接字符串(字符串中有变量)对我来说是一个难点,总是忘记规律,写下来以帮助记忆。 一、拼接字符串(整个字符串不分割)步骤: 首先在字符串的前后加单引号; 字符串中的变量以'''+@para+'''...
  • sql server 时间拼接

    千次阅读 2018-06-05 10:24:17
    DECLARE @casetime NVARCHAR(30);DECLARE @year NVARCHAR(30);SET @year ='2015'IF CAST(@year AS INT) = YEAR(GETDATE())BEGIN SET @casetime = CAST(@year AS NVARCHAR(30))+'-'+ (CASE WHEN Len(MONTH(GETDATE...
  • SQLSERVER 拆分拼接字符串,WHILE循环输出 1 DECLARE @Items VARCHAR(1000) 2 SET @Items='148,149,150,151' +',' 3 DECLARE @ItemIndex INT 4 set @ItemIndex=CHARINDEX(',',@Items) 5 6 WHILE(@...
  • oracle、mysql、sqlserver分组拼接,分组之后将字段拼成用逗号隔开的串
  • DECLARE @STR VARCHAR(8000) set @STR=char(39) SELECT @STR = ISNULL(@STR,'')+Flowdirection+char(39...--拼接字符串 单引号用 char(39) char(37)代替% 转载于:https://www.cnblogs.com/heng0906/p/3284982.html
  • sqlserver 变量拼接

    2012-06-01 10:06:38
    string cmd = "update [Tlb_VODContentServer] set BaseUrl='" + cs.BaseUrl + "',CurrentLoading='" + cs.CurrentLoading + "',IsAvailable='" + cs.IsAvailable + "...
  • 如果需要在动态SQL语句中使用空格或者字符串必须使用转义单引号 例如:declare @sql varchar(500)  set @sql = 'select xxx from xxx where isnull(CustomCName, '''') 这里,空格和字符串均使用双引号即可 (2)...
  • SQL SERVER拼接查询结果的方法 用‘/’分隔查询的语句 select BGID,WD_JCompany,WD_SCompany,WD_TCar,WD_SCar,WD_TemMin,WD_TemMax,WD_HemMin,WD_HemMax,WD_StartTime,WD_ServiceTime,WD_CollSpace,WD_TemAsk,WDID,...
  • sql server 拼接字段

    2018-11-21 10:47:00
    方式一: --select @p_AllPARTOFCHECK = (select CAST(t.PARTOFCHECK as varchar)+'|' ...注:具体拼接分割符,可自行定义使用,示例中使用 | 进行拼接 转载于:https://www.cnblogs.com/YYkun/p/9993636.html
  • SQLServer拼接函数使用

    2021-04-01 15:01:54
    select concat('1','2','3'); 结果
  • 主要介绍了SqlServer存储过程实现及拼接sql的注意点的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
  • sql server多行数据拼接的实例方法,需要的朋友可以参考一下
  • select stuff((select ','+表格字段名 from 表格名 for xml path('')),1,1,'') as name 例子: select stuff(( select ','+columnname from tablename for xml path('')),1,1,'') as name
  • 其中a中的字符串是B表中b(int类型)字段的数据拼接。 其中 表A数据 表B数据 如果我们直接 select * from b where in(select a from A),查询会报从数据类型 nvarchar 转换为 bigint 时出错。很烦!so,我...
  • sqlServer聚合拼接一列字符串

    千次阅读 2019-04-19 15:42:13
    1.前言: 最近做项目的时候遇到一个需求,查询一个时段选课的人数,还有学生的姓名。...SqlServer + boot-data-jpa 3.SqlServer的STUFF函数。 STUFF(character_expression, start, length, character_ex...
  • 经常接触到的mysql,拼接SQL分页语句直接在sql尾部加上limitx,x,既不污染原SQL,又够方便整洁。 最近做多数据源动态查询,需要支持多种数据库,分页问题随之而来,像mysql、oracle这些拼串方式不再赘述。 高...
  • output as begin --sp_executesql后面执行的SQL语句必须是Unicode编码的字符串,所以此处为nvarchar类型。 declare @sqlStr nvarchar(1000); --如果使用如下语句,将报错“必须声明标量变量 "@GuestID"。” --set @...
  • sql语句主要操作于有条件的的增加,删除,修改或查询但在有多种可变的查询条件下,SQL语句的长度就不一定了,那就需要我们的SQL语句拼接了。比如:string sqlstr= "SELECT 条件1,条件2,条件3,条件4 FROM 表1 s1 ...
  • SQL Server 拼接字符串

    千次阅读 2010-03-23 11:51:00
    温习拼接字符串if object_id(tb) is not nulldrop table tbgocreate table tb(id int, value varchar(10))insert into tb values(1, aa)insert into tb values(1, bb)insert into tb values(2, aaa)insert into t
  • sql server 拼接字符串

    千次阅读 2010-09-17 12:59:00
    --SQL2000用函数: IF OBJECT_ID('F_Str') is not null  DROP FUNCTION F_Str go CREATE FUNCTION F_Str (  @Col1 INT )  RETURNS NVARCHAR(1000) AS  BEGIN  DECLARE @Str NVARCHAR(1000)  SELECT @Str=IS...
  • 拼接整个集合中的所有行 declare @s varchar(100); set @s = ''; select @s = @s + ',' + cast(n as varchar(max)) from t; print @s 结果类似: ,1,2,1,2,1,2,1,2,1,2,1,2 拼接集合中部...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 31,070
精华内容 12,428
关键字:

serversql拼接