Ответ 1
Используйте оператор модуля n % 2
. Он возвращает 0, если число четное, и 1, если число нечетное.
Бит ржавый на старом sql.
Вы можете помочь?
Учитывая число, например, 1 или 2 или 4, мне нужно определить, является ли это четным или нечетным числом и сделать некоторый расчет в зависимости от четного или нечетного.
Как вы обнаруживаете, что в sql (sql server 2000) большое спасибо
Используйте оператор модуля n % 2
. Он возвращает 0, если число четное, и 1, если число нечетное.
Вы также можете использовать операторы BIT WISE сервера SQL
DECLARE @Int INT
SELECT @Int = 103
SELECT @Int & 1, @Int % 2
объявить таблицу @t (num int) insert into @t select 1 union all select 2 union all select 3 union all select 4
select
num
,case when num % 2 = 0 then 'Even' else 'Odd' end as Status
from @t
Вывод:
num Статус
1 Odd
2 Even
3 Odd
4 Even
например. Если число четное (умножить на 1) или нечетное (умножить на 2), разделите его на 10 и получите остаток
declare @myNumber int ,@result int
set @myNumber = 16
select
Result =
(case when @myNumber % 2 = 0 then @myNumber * 1 else @myNumber * 2 end) %10
Результат
6
когда @myNumber = 11
, затем
Результат
2
Надеюсь, что это поможет
Я использую то же самое в MS SQL SP следующим образом:
IF @current_number % 2 = 0 SET @something = 1
- или -
IF @current_number % 2 = 0 exec sp_whatever
Используйте оператор модуль (%).
x % 2
сообщит вам, является ли x четным или нечетным.
Вы можете проверить 1-бит шестнадцатеричного значения числа. Если этот бит включен, то это нечетно.
DECLARE @Int INT
SELECT CASE WHEN @Int&0x0001<>0 THEN 'ODD' ELSE 'EVEN' END
Скажем, для таблицы STATION.
Схема:
ИД НОМЕР
CITY VARCHAR
ГОСУДАРСТВЕННЫЙ VARCHAR
You can use any of the mentioned criteria to fetch the even ID.
1. MOD() Fucntion
select distinct CITY from STATION as st where MOD(st.id, 2) = 0
2. % function
select distinct CITY from STATION as st where st.id % 2 = 0
USE AdventureWorks;
GO
SELECT BusinessEntityID,
CASE BusinessEntityID % 2
WHEN 0 THEN 'Even' ELSE 'Odd' END AS "Status"
FROM HumanResources.Employee;
GO