2010-07-09 75 views
0

我有一些MySQL的经验,但没有一个与SQL Server,我有一台主机数据库(SQL Server 2000)的计算机,我有本地访问权限。认为表NomAntiguedad中的一列需要从给定日期开始更改;我需要将mesano(05/2007至实际日期,格式:MM/YYYY)的值之间的列的所有值乘以0.01。从Windows管理SQL Server 2000数据库和更改整列

我如何能够VISUAL访问数据库,就像我管理PhpMyAdmin上的数据库以查看表格格式一样?

该命令的语法将做什么我需要什么?

回答

3

我怎样才能VISUAL访问数据库,就像当我在PhpMyAdmin上管理我的数据库以查看表格格式一样?

有事实上的SQL Server Management Studio(Express版本是免费的),或Toad for SQL Server(免费的,如果< 5人使用它内部的)应用程序...

的想到的是,表中的一列NomAntiguedad需要从给定日期开始更改;我需要将mesano的值(05/2007与实际日期,格式:MM/YYYY)之间的列的所有值相乘0.01。

您需要使用UPDATE statement

,你可能需要使用 CAST/CONVERT明确地处理,因为你可能会失去精度从“0.01 * your_column”计算返回的数据类型
UPDATE NomAntiguedad 
    SET your_column = .01 * your_column 
WHERE mesano = '05/2007' 

心灵取决于列的数据类型。

3
UPDATE NomAntiguedad 
SET <Column You're Updating> = .01*<Column You're Updating> 
WHERE REPLACE(mesano, '/', '/01/') BETWEEN '5/1/2007' AND getDate() 

我假设你的日期格式是准确的,永不改变。

+0

“BETWEEN'5/1/2007'和getDate()”不是数据库使用的日期格式。是MM/YYYY。知道如何更改命令的语法?谢谢 – DomingoSL 2010-07-09 16:26:04

+0

mesano是否存储为数据库中的DateTime列?如果是的话,SQL服务器应该知道如何处理它。 – 2010-07-09 16:36:44

+0

MM/YYYY不是标准日期格式;以支持斜线,它必须是基于文本(VARCHAR等) – 2010-07-09 17:11:18

相关问题