我有以下功能
ALTER FUNCTION [dbo].[ActualWeightDIMS]
(
-- Add the parameters for the function here
@ActualWeight int,
@Actual_Dims_Lenght int,
@Actual_Dims_Width int,
@Actual_Dims_Height int
)
RETURNS varchar(50)
AS
BEGIN
DECLARE @ActualWeightDIMS varchar(50);
--Actual Weight
IF (@ActualWeight is not null)
SET @ActualWeightDIMS = @ActualWeight;
--Actual DIMS
IF (@Actual_Dims_Lenght is not null) AND
(@Actual_Dims_Width is not null) AND (@Actual_Dims_Height is not null)
SET @ActualWeightDIMS= @Actual_Dims_Lenght + 'x' + @Actual_Dims_Width + 'x' + @Actual_Dims_Height;
RETURN(@ActualWeightDIMS);
END
Run Code Online (Sandbox Code Playgroud)
但当我尝试使用它时,我收到以下错误"将varchar值'x'转换为数据类型int时转换失败." 当我使用以下select语句时
select
BA_Adjustment_Detail.ID_Number [ID_Number],
BA_Adjustment_Detail.Submit_Date [Submit_Date],
BA_Category.Category [category],
BA_Type_Of_Request.Request …Run Code Online (Sandbox Code Playgroud) 是否可以MS SQL Server 2008将数据库结构导出到T-SQL文件中?
我不仅要导出表模式,还要导出主键,外键,约束,索引,存储过程,用户定义的类型/函数.
此外,我不希望数据出现在此T-SQL文件中.
有没有办法实现这一目标?
SELECT -100/-100*10结果是0.SELECT (-100/-100)*10结果是10.SELECT -100/(-100*10)结果是0.SELECT 100/100*10结果是10.BOL声明:
当表达式中的两个运算符具有相同的运算符优先级时,它们将根据它们在表达式中的位置从左到右进行计算.
和
Level Operators
1 ~ (Bitwise NOT)
2 * (Multiplication), / (Division), % (Modulus)
3 + (Positive), - (Negative), + (Addition), + (Concatenation), - (Subtraction), & (Bitwise AND), ^ (Bitwise Exclusive OR), | (Bitwise OR)
Run Code Online (Sandbox Code Playgroud)
BOL是错的,还是我错过了什么?似乎-正在抛弃(预期)优先权.
我正在写一个查询,我必须在去年获得数据.做这个的最好方式是什么?
SELECT ... FROM ... WHERE date > '8/27/2007 12:00:00 AM'
Run Code Online (Sandbox Code Playgroud) 简单的问题,如何使用T-SQL列出表的主键?我知道如何在表上获取索引,但不记得如何获取PK.
我有一个代码是:
DECLARE @Script VARCHAR(MAX)
SELECT @Script = definition FROM manged.sys.all_sql_modules sq
where sq.object_id = (SELECT object_id from managed.sys.objects
Where type = 'P' and Name = 'usp_gen_data')
Declare @Pos int
SELECT @pos=CHARINDEX(CHAR(13)+CHAR(10),@script,7500)
PRINT SUBSTRING(@Script,1,@Pos)
PRINT SUBSTRING(@script,@pos,8000)
Run Code Online (Sandbox Code Playgroud)
脚本的长度大约是10,000个字符,因为我使用的print语句最多只能容纳8000个.所以我使用了两个打印语句.
问题是,当我有一个脚本,比如18000个字符,然后我习惯使用3个打印语句.
那么有没有办法可以根据脚本的长度设置打印语句的数量?
我正在研究从SQLServer数据库读取以生成提取文件的SQL查询.从特定字段中删除前导零的要求之一,这是一个简单的VARCHAR(10)字段.因此,例如,如果字段包含'00001A',则SELECT语句需要将数据返回为'1A'.
SQL中有没有办法以这种方式轻松删除前导零?我知道有一个RTRIM功能,但这似乎只是删除空格.
有没有办法char(64)在一个MS SQL Server数据库中的任何表的任何列内搜索一个值(在我的情况下,它是该类型的UID )?
我坐在一个巨大的数据库前,不知道如何将表连接在一起.为了找到它,我想列出所有表,并列出任何行中包含特定值的列.那可能吗?
一种方法可能是将整个数据库转储到文本文件中,而不是使用任何文本编辑器来搜索值 - 但如果数据库太大,这将是非常痛苦的.
我知道这一定很简单,但是我如何通过检查来创建一个函数来查看它是否已经存在?如果它存在,我想删除并重新创建它.
我需要更新/替换datatable.column中的数据.该表有一个名为的字段Content.我正在使用该REPLACE功能.由于列数据类型是NTEXT,SQL Server不允许我使用该REPLACE函数.
我无法更改数据类型,因为此数据库是第三方软件表.更改数据类型将导致应用程序失败.
UPDATE [CMS_DB_test].[dbo].[cms_HtmlText]
SET Content = REPLACE(Content,'ABC','DEF')
WHERE Content LIKE '%ABC%'
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
消息8116,级别16,状态1,行1参数数据类型ntext对替换函数的参数1无效.
有一个主键字段:name:ID - integer - 它是一个标识....所以我也需要考虑这个问题.也许将身份设置为N临时.
请告知如何实现REPLACE功能?
约.需要使用新解决方案更新3000个语句.