Вы также можете попробовать это:
declare @s varchar(100) = 'asd.stadfa';
select reverse(substring(s, 1, charindex('.', s) - 1)) from (
select reverse(@s) s
) a
charindex
возвращает первое вхождение символа, поэтому вы переворачиваете начальную строку, чтобы сделать последнюю точку первой. Затем вы просто используете подстроку для извлечения первой части обратной строки, что вы и искали. Наконец, вам нужно применить reverse
еще раз, чтобы вернуть обратно извлеченную строку:)
Я рекомендовал бы проверить JodaTime, который обеспечивает немного сахара, чтобы помочь управлять Датой / Время / тип TimeZone выходит более четко в коде.
Мы используем их всюду по тесту и производству с тех пор, как это повышает собственный Java, API для проблем Даты/Времени является непараллельным. Используя их в тестах хорошо работает в JUnit
Java позволяет Вам устанавливать часовой пояс по умолчанию (java.util. TimeZone.setDefault). Я записал тесты прежде, чтобы установить часовой пояс на множество различных вариантов и проверить, что все все еще работает. Будьте осторожны, хотя - при параллелизации большинства модульных тестов необходимо будет сделать эти последовательными.
Я предлагаю, чтобы Вы протестировали в некоторых часовых поясах с летним временем, применяется, и некоторые без. Используя австралийский часовой пояс хорошо также, поскольку DST применяется в противоположное время года к северному полушарию.
Каково мнение о соединении с серверами времени и получении обновлений?