2013-09-13 7 views
0

У меня есть time(0) столбец в таблице базы данных SQL Server, и я хотел бы создать новый столбец, используя ту же сумму в time(0) но преобразуется в число минут (varchar) (колонка времени дает конкретные длительностей)Сценарий для преобразования времени в строку?

I попробовали следующие команды в разделе формулы (в SQL Server Management Studio)

(CONVERT([varchar](10),[Duration],(10))) 
CONVERT (data_type [ (length) ] , expression [ , style ]) 

Любые идеи, что может быть неправильным?

+2

Если у вас есть ** номер ** минут - *** почему *** вы храните это как 'varchar' ?? Если это число (выглядит как число, quacks как число), сохраните его как ** номер **! (используйте 'int' или' decimal (p, s) '- по мере необходимости. –

ответ

1

Если вы хотите добавить новый столбец, который хранит количество минут, использовать INT! Ведь номер минут это численное значение .....

Вы можете сделать это с помощью сценария изменения очень легко:

ALTER TABLE dbo.YourTable 
ADD TimeInMinutes AS DATEDIFF(MINUTE, 0, YourTimeColumnHere) PERSISTED 

или вы могли бы быть в состоянии сделать это в визуальный дизайнер, тоже, просто добавив формулу:

DATEDIFF(MINUTE, 0, YourTimeColumnHere) 

Try, чтобы убедиться, чтобы сделать это упорную колонки, так что это только рассчитывается и обновляется, когда время colu mn меняется - не каждый раз для доступа к нему ....

0

использование datediff(mi, '00:00:00', <your time>):

см sql fiddle demo

+0

И как я могу использовать это в студии управления SQL? Я новичок в этом. –

Смежные вопросы