Вопросы с тегом «type-conversion»

По вопросам о преобразовании одного типа данных в другой или о проблемах, связанных с этим процессом.


1
Предупреждение в плане запроса «Оценка мощности»
create table T(ID int identity primary key) insert into T default values insert into T default values go select cast(ID as varchar(10)) as ID from T where ID = 1 Запрос выше имеет предупреждение в плане запроса. <Warnings> <PlanAffectingConvert ConvertIssue="Cardinality Estimate" Expression="CONVERT(varchar(10),[xx].[dbo].[T].[ID],0)" /> </Warnings> Почему у него есть предупреждение? Как …

2
Почему «SELECT POWER (10.0, 38.0);» выдает ошибку арифметического переполнения?
Я обновляю свой IDENTITYскрипт проверки переполнения для учета DECIMALи NUMERIC IDENTITYстолбцов . В рамках проверки я вычисляю размер диапазона типа данных для каждого IDENTITYстолбца; Я использую это, чтобы вычислить, какой процент этого диапазона был исчерпан. Для DECIMALи NUMERIC размер этого диапазона,2 * 10^p - 2 где pточность. Я создал кучу …

2
Есть ли такая вещь как пользовательские типы данных?
Есть ли в MySQL поддержка пользовательских типов данных? Например, почтовые индексы могут быть сохранены в varchar(10)поле, но они могут быть сжаты в поле intс параметрами для пустого поля и флагом того, является ли это 5-значным или 5 + 4-значным почтовым индексом. Есть ли способ установить бесшовные типы данных для таких …

3
Падение производительности при использовании CAST в T-SQL
У нас есть генератор SQL, который генерирует условные операторы SQL в общем случае для указанных полей (которые для обсуждения: мы будем обозначать как myField). Если myFieldимеет тип NVARCHAR, мы можем сделать сравнение указанного поля со строкой , как так: myField = 'foo'. Однако это не работает для полей типа NTEXT. …

3
Преобразовать строковые числовые значения с запятой в качестве десятичного разделителя в NUMERIC (10, 2)
У меня есть таблица SQL столбцов varchar, которые содержат греческие отформатированные числа (. Как разделитель тысяч и запятую как разделитель десятичных) Классическая конверсия CONVERT(numeric(10,2),REPLACE([value],',','.')) не работает, потому что. (разделитель тысяч) убивает конверсию Например, попробуйте CONVERT(numeric(10,2),REPLACE('7.000,45',',','.')) Я хочу преобразовать такие значения в числовые (10,2) Любые предложения о том, как справиться с …

2
Почему я получаю неявное преобразование Int / Smallint в Varchar, и это действительно влияет на оценки кардинальности?
Я пытаюсь решить проблему с медленным выполнением запроса, используя Show Plan Analysis (SSMS) для фактического плана выполнения. Инструмент «Анализ» указывает, что оценки количества строк не совпадают с возвращенными результатами в нескольких местах плана, а также дает некоторые неявные предупреждения о преобразовании. Я не понимаю этих неявных преобразований типа int в …

1
Выражение CASE возвращает неверное значение при использовании CEILING
Я столкнулся с проблемой, когда CASEвыражение не возвращает то, что я ожидаю. В качестве теста я добавил десятичную переменную и применил к ней то же CASEвыражение, и оно работает нормально, возвращая результаты, как я и ожидал (округляя значение до, когда IsGun=1. Но когда я запускаю это же CASEвыражение против другого …

2
Преобразовать столбец даты и времени в количество секунд
В моей базе данных SQL Server у меня есть datetimeстолбец. Каков хороший способ создать новый столбец, который представляет longзначение для datetimeстолбца? Это longбудет представлять количество секунд. Я подумал, что если я смогу преобразовать его в longs, это упростит группирование по запросам за промежутки времени, поскольку я мог бы просто разделить …

3
Преобразование строки без Юникода в строку Юникода SSIS
Я создаю пакет, в который я буду экспортировать данные из базы данных в пустой файл Excel. Когда я добавил только исходный и целевой компоненты и запустил пакет, я получил ошибку преобразования, в которой указано, что столбец вывода и столбец «A» не могут преобразовывать строковые типы данных в Юникоде и не …

3
Неизвестный возвращаемый тип в запросе PostgreSQL
Следующий запрос работает: SELECT a, b FROM unnest(ARRAY[(1,2), (3,4)]) AS t(a integer, b integer); a b _ _ 1 2 3 2 Однако я не смог использовать другой тип столбца, такой как varchar(255): SELECT a, b FROM unnest(ARRAY[(1,'hello'), (3,'world')]) AS t(a integer, b varchar(255)); ERROR: 42804: function return row and …

5
Преобразование типа данных varchar в тип данных datetime привело к значению вне допустимого диапазона
Я пытаюсь выполнить простой запрос, чтобы получить все строки, созданные в ноябре: SELECT COUNT(*) FROM dbo.profile WHERE [Created] BETWEEN '2014-11-01 00:00:00.000' AND '2014-11-30 23:59:59.997'; SMSS возвращает: Преобразование типа данных varchar в тип данных datetime привело к значению вне допустимого диапазона. Я не понимаю, почему данные преобразуются из varchar в datetime, …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.