2010-07-09 50 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

相關問題