Как я мог разделить диапазон дат, как этотSQL строка даты расколоть
20120301-20120331
на две разные даты в T-SQL? Данные отображаются в столбце date_range.
Спасибо!
Как я мог разделить диапазон дат, как этотSQL строка даты расколоть
20120301-20120331
на две разные даты в T-SQL? Данные отображаются в столбце date_range.
Спасибо!
Предполагая, что SQL Server:
DECLARE @string VARCHAR(17) = '20120301-20120331';
SELECT
CONVERT(DATETIME, LEFT(@string, 8)),
CONVERT(DATETIME, RIGHT(@string, 8));
Из таблицы:
SELECT
CONVERT(DATETIME, LEFT(column_name, 8)),
CONVERT(DATETIME, RIGHT(column_name, 8))
FROM dbo.table_name;
Это не сработает, поскольку мне нужно сделать это по всей таблице, а не только по одной строке. :( – OBL
@OBL - просто замените '@ string' на столбец вашей таблицы и добавьте' FROM YourTable' после выбора – Lamak
. @variable был просто для демонстрации. Если вы хотите, чтобы код, который вам не нужен, делать любую работу вообще, чтобы сделать работу, рекомендуется указывать в вопросе имена таблиц и столбцов, о которых вы говорите (помимо того, что вы говорите о SQL Server, Oracle, MySQL и т. д.). –
Какие СУБД? Какая версия? –
Я предполагаю, что тип столбца - VARCHAR? Всегда ли формат всегда согласован (т. Е. Каждая дата в формате YYYYMMDD, и две даты всегда разделены ровно одним тире, без внутренних пробелов?) –
Да, это всегда согласовано и является VARCHAR. Благодаря! – OBL