Tag: sql

varbinary在SQL Server上的string

如何将varbinary(max)的列值以人类可读的forms转换为varchar ?

将数据从一列复制到另一列(在不同的表中)

我想将数据从一列复制到另一个表的另一列。 我怎样才能做到这一点? 我尝试了以下内容: Update tblindiantime Set CountryName =(Select contacts.BusinessCountry From contacts) 但它没有工作。 我想将联系人表的“BusinessCountry”列复制到tblindiantime表的“CountryName”列中。

我怎样才能找出哪些FOREIGN KEY约束引用SQL Server中的表?

我试图删除一个表,但得到以下消息: 3726信息,16级,1状态,3号线 无法删除对象'dbo.UserProfile',因为它是由FOREIGN KEY约束引用的。 消息2714,级别16,状态6,2号线 数据库中已经有一个名为“UserProfile”的对象。 我用SQL Server Management Studio环顾四周,但我无法find约束。 我怎样才能找出外键约束?

SQL Server以静默方式截断存储过程中的varchar

根据这个论坛讨论 ,SQL Server(我正在使用2005年,但我收集这也适用于2000年和2008年)静默截断任何指定为存储过程参数的varchar到varchar的长度,即使插入该string直接使用INSERT实际上会导致错误。 例如。 如果我创build这个表格: CREATE TABLE testTable( [testStringField] [nvarchar](5) NOT NULL ) 那么当我执行以下: INSERT INTO testTable(testStringField) VALUES(N'string which is too long') 我收到一个错误: String or binary data would be truncated. The statement has been terminated. 大。 数据完整性保存,主叫方知道。 现在让我们定义一个存储过程来插入: CREATE PROCEDURE spTestTableInsert @testStringField [nvarchar](5) AS INSERT INTO testTable(testStringField) VALUES(@testStringField) GO 并执行它: EXEC spTestTableInsert @testStringField = N'string […]

我如何使用SQL语法来更改主键约束?

我有一个表在主键约束中缺less一列。 而不是通过SQL Server进行编辑,我想把它放在脚本中作为我们的更新脚本的一部分添加它。 我可以用什么语法来做到这一点? 我必须删除并重新创build关键约束吗?

如何在T-SQL中删除默认值或类似约束?

我知道这个语法: ALTER TABLE [TheTable] DROP CONSTRAINT [TheDefaultConstraint] 但是当我不知道它的名字时,如何删除默认的约束呢? (也就是说,它是在CREATE TABLE时间自动生成的。)

计算两点之间的距离(经度,纬度)

我正在计算地图上两个位置之间的距离。 我已经存储在我的数据:经度,纬度,X POS,Y POS。 我以前使用下面的代码片段。 DECLARE @orig_lat DECIMAL DECLARE @orig_lng DECIMAL SET @orig_lat=53.381538 set @orig_lng=-1.463526 SELECT *, 3956 * 2 * ASIN( SQRT( POWER(SIN((@orig_lat – abs(dest.Latitude)) * pi()/180 / 2), 2) + COS(@orig_lng * pi()/180 ) * COS(abs(dest.Latitude) * pi()/180) * POWER(SIN((@orig_lng – dest.Longitude) * pi()/180 / 2), 2) )) AS distance –INTO #includeDistances FROM […]

最大(长度(字段))在MySQL

如果我说: select max(length(Name)) from my_table 我得到的结果是18,但我也要关心的数据。 所以如果我说: select max(length(Name)), Name from my_table …这是行不通的。 应该有一个自我join,我想我无法弄清楚。 任何人都可以请给我一个线索?

如何将PG列更改为NULLABLE TRUE?

我如何使用Postgres来完成这个任务? 我试过下面的代码,但它不工作: ALTER TABLE mytable ALTER COLUMN mycolumn BIGINT NULL;

如何重新命名MySQL中的索引

我想重新命名一个索引。 我已经查看了alter table文档,但是我找不到简单地重命名索引的语法。 当通过MySQL GUI执行时,会删除索引,并创build一个新的索引。 虽然这工作,我想避免重build整个索引只是为了改变索引的名称。 [附加信息] 在alter table文档中说明 只能修改表格元数据而不能修改表格数据的修改可以通过修改表格的.frm文件而不是触及表格内容来立即完成。 以下更改是可以通过这种方式进行的快速更改: * Renaming a column or index. 但是,当我尝试通过编辑.frm文件(在testing数据库上)重命名索引并重新启动服务器时,现在在尝试列出列时在UI中声明“无法获取列”一个查询,它返回错误“未知的表引擎”“。 .frm文件有很多二进制内容。 有没有一个好的工具来编辑二进制信息。