Я работаю над переносом функции доступа Right () на SQL Server.
Это функция доступа Вправо () :
Barcode: "ID" & (Right(String(8,"0") & [Job Number],8) & Right(String(6,"0") &
[PART LIBARY HEADER_1]![PartID],6) & Right(String(6,"0") & [Part Assembly Link
Table]![AssemblyLinkID],6))
Что делает вышеприведенное выражение, так это то, что оно динамически создает поле для размещения штрих-кода, длина которого всегда составляет 22 символа. Теперь значения этих штрих-кодов определяются другими столбцами.
Я использую метод Right () , чтобы собрать самые правые: 8 символов номера задания, 6 символов PartID и 6 символов AssemblyLinkID.
Теперь проблема, с которой я сталкиваюсь, заключается в том, что, хотя я могу переместить эти значения в T-SQL, у меня возникают трудности с установкой значения по умолчанию равным = 0.
Например, следующий ввод:
Номер задания: 123456
PartID: 9876
AssemblyLinkID: 127
Нужно было бы вернуть… ID00123456009876000127
Функция String () в доступе обрабатывает для меня нулевые значения, добавляя 0 , но этот метод недоступен в SQL Server.
String(8,"0")
Это мой SQL-код:
Concat('ID', RIGHT(STR(0, 8) & [Job Number],8)) AS Barcode,
STR () - это не та функция, которую я хочу использовать, поскольку она не дает таких же результатов, как у MS Access String () .